@screeb/react-native 2.2.0 → 3.0.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.
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
- s.dependency "Screeb", '~> 2.2.0'
19
+ s.dependency "Screeb", '~> 3.0.2'
20
20
  s.dependency "React-Core"
21
21
  install_modules_dependencies(s)
22
22
  end
@@ -74,5 +74,5 @@ def kotlin_version = getExtOrDefault("kotlinVersion")
74
74
  dependencies {
75
75
  implementation "com.facebook.react:react-android"
76
76
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
77
- api "app.screeb.sdk:survey:2.2.7"
77
+ api "app.screeb.sdk:survey:3.0.0"
78
78
  }
@@ -27,7 +27,7 @@ class ScreebReactNativeModule(reactContext: ReactApplicationContext) :
27
27
  language: String?,
28
28
  promise: Promise
29
29
  ) {
30
- Screeb.setSecondarySDK("react-native", "2.2.0")
30
+ Screeb.setSecondarySDK("react-native", "3.0.0")
31
31
 
32
32
  val mapHooks: HashMap<String, Any>? = hooks?.let { readable ->
33
33
  hashMapOf<String, Any>().apply {
@@ -26,7 +26,7 @@ class ScreebReactNative: RCTEventEmitter {
26
26
  initOptions initOptions_: [String: Any]?,
27
27
  language language_: String?
28
28
  ) {
29
- Screeb.setSecondarySDK(name: "react-native", version: "2.2.0")
29
+ Screeb.setSecondarySDK(name: "react-native", version: "3.0.0")
30
30
  var mapHooks: [String: Any]? = nil
31
31
  if (hooks_ != nil) {
32
32
  mapHooks = [:]
@@ -43,61 +43,39 @@ class ScreebReactNative: RCTEventEmitter {
43
43
  }
44
44
  }
45
45
 
46
- var initOptions = InitOptions()
47
- initOptions_?.forEach{ option in
48
- if (option.key == "isDebugMode") {
49
- initOptions = InitOptions(isDebugMode: option.value as? Bool)
50
- }
51
- }
52
-
46
+ let initOptionsDict: NSDictionary = NSDictionary(dictionary: (initOptions_ ?? [:]).compactMapValues { $0 })
47
+ let initOptionsFinal = InitOptions(dict: initOptionsDict)
53
48
  DispatchQueue.main.async {
54
- Screeb.initSdk(context: nil, channelId: channelId, identity: userId_, visitorProperty: self.mapToAnyEncodable(map: properties_), initOptions: initOptions, hooks: mapHooks, language: language_)
49
+ Screeb.initSdk(context: nil, channelId: channelId, identity: userId_, visitorProperty: properties_ ?? [:], initOptions: initOptionsFinal, hooks: mapHooks, language: language_)
55
50
  }
56
51
  }
57
52
 
58
53
  @objc func setIdentity(_ userId: String, properties properties_: [String: Any]?) {
59
- var map: [String: AnyEncodable?] = [:]
60
- if (properties_ != nil) {
61
- map = self.mapToAnyEncodable(map: properties_!)
62
- }
63
54
  DispatchQueue.main.async {
64
- Screeb.setIdentity(uniqueVisitorId: userId, visitorProperty: map)
55
+ Screeb.setIdentity(uniqueVisitorId: userId, visitorProperty: properties_ ?? [:])
65
56
  }
66
57
  }
67
58
 
68
59
  @objc func trackEvent(_ eventId: String, properties properties_: [String: Any]?) {
69
- var map: [String: AnyEncodable?] = [:]
70
- if (properties_ != nil) {
71
- map = self.mapToAnyEncodable(map: properties_!)
72
- }
73
60
  DispatchQueue.main.async {
74
- Screeb.trackEvent(name: eventId, trackingEventProperties: map)
61
+ Screeb.trackEvent(name: eventId, trackingEventProperties: properties_ ?? [:])
75
62
  }
76
63
  }
77
64
 
78
65
  @objc func trackScreen(_ screen: String, properties properties_: [String: Any]?) {
79
- var map: [String: AnyEncodable?] = [:]
80
- if (properties_ != nil) {
81
- map = self.mapToAnyEncodable(map: properties_!)
82
- }
83
66
  DispatchQueue.main.async {
84
- Screeb.trackScreen(name: screen, trackingEventProperties: map)
67
+ Screeb.trackScreen(name: screen, trackingEventProperties: properties_ ?? [:])
85
68
  }
86
69
  }
87
70
 
88
71
  @objc(setProperties:)
89
72
  func setVisitorPropertiesImpl(_ properties: [String: Any]?) {
90
- let map = self.mapToAnyEncodable(map: properties)
91
73
  DispatchQueue.main.async {
92
- Screeb.visitorProperty(visitorProperty: map)
74
+ Screeb.visitorProperty(visitorProperty: properties ?? [:])
93
75
  }
94
76
  }
95
77
 
96
78
  @objc func startSurvey(_ surveyId: String, allowMultipleResponses allowMultipleResponses_: Bool, hiddenFields hiddenFields_: [String: Any]?,ignoreSurveyStatus ignoreSurveyStatus_: Bool, hooks hooks_: [String: Any]?, language language_: String?, distributionId distributionId_: String?) {
97
- var map: [String: AnyEncodable] = [:]
98
- if (hiddenFields_ != nil) {
99
- map = self.mapToAnyEncodable(map: hiddenFields_!).filter({ $0.value != nil }).mapValues({ $0! })
100
- }
101
79
  var mapHooks: [String: Any]? = nil
102
80
  if (hooks_ != nil) {
103
81
  mapHooks = [:]
@@ -114,15 +92,11 @@ class ScreebReactNative: RCTEventEmitter {
114
92
  }
115
93
  }
116
94
  DispatchQueue.main.async {
117
- Screeb.startSurvey(surveyId: surveyId, allowMultipleResponses: allowMultipleResponses_, hiddenFields: map, ignoreSurveyStatus: ignoreSurveyStatus_, hooks: mapHooks, language: language_, distributionId: distributionId_)
95
+ Screeb.startSurvey(surveyId: surveyId, allowMultipleResponses: allowMultipleResponses_, hiddenFields: hiddenFields_ ?? [:], ignoreSurveyStatus: ignoreSurveyStatus_, hooks: mapHooks, language: language_, distributionId: distributionId_)
118
96
  }
119
97
  }
120
98
 
121
99
  @objc func startMessage(_ messageId: String, allowMultipleResponses allowMultipleResponses_: Bool, hiddenFields hiddenFields_: [String: Any]?, ignoreMessageStatus ignoreMessageStatus_: Bool, hooks hooks_: [String: Any]?, language language_: String?, distributionId distributionId_: String?) {
122
- var map: [String: AnyEncodable] = [:]
123
- if (hiddenFields_ != nil) {
124
- map = self.mapToAnyEncodable(map: hiddenFields_!).filter({ $0.value != nil }).mapValues({ $0! })
125
- }
126
100
  var mapHooks: [String: Any]? = nil
127
101
  if (hooks_ != nil) {
128
102
  mapHooks = [:]
@@ -139,27 +113,19 @@ class ScreebReactNative: RCTEventEmitter {
139
113
  }
140
114
  }
141
115
  DispatchQueue.main.async {
142
- Screeb.startMessage(messageId: messageId, allowMultipleResponses: allowMultipleResponses_, hiddenFields: map, ignoreMessageStatus: ignoreMessageStatus_, hooks: mapHooks, language: language_, distributionId: distributionId_)
116
+ Screeb.startMessage(messageId: messageId, allowMultipleResponses: allowMultipleResponses_, hiddenFields: hiddenFields_ ?? [:], ignoreMessageStatus: ignoreMessageStatus_, hooks: mapHooks, language: language_, distributionId: distributionId_)
143
117
  }
144
118
  }
145
119
 
146
120
  @objc func assignGroup(_ type: String?, name name_: String, properties properties_: [String: Any]?) {
147
- var map: [String: AnyEncodable] = [:]
148
- if (properties_ != nil) {
149
- map = self.mapToAnyEncodable(map: properties_!).filter({ $0.value != nil }).mapValues({ $0! })
150
- }
151
121
  DispatchQueue.main.async {
152
- Screeb.assignGroup(type: type, name: name_, properties: map)
122
+ Screeb.assignGroup(type: type, name: name_, properties: properties_ ?? [:])
153
123
  }
154
124
  }
155
125
 
156
126
  @objc func unassignGroup(_ type: String?, name name_: String, properties properties_: [String: Any]?) {
157
- var map: [String: AnyEncodable] = [:]
158
- if (properties_ != nil) {
159
- map = self.mapToAnyEncodable(map: properties_!).filter({ $0.value != nil }).mapValues({ $0! })
160
- }
161
127
  DispatchQueue.main.async {
162
- Screeb.assignGroup(type: type, name: name_, properties: map)
128
+ Screeb.assignGroup(type: type, name: name_, properties: properties_ ?? [:])
163
129
  }
164
130
  }
165
131
 
@@ -190,8 +156,7 @@ class ScreebReactNative: RCTEventEmitter {
190
156
  @objc func onHookResult(_ hookId: String, payload: [String: Any]?) {
191
157
  DispatchQueue.main.async {
192
158
  if payload != nil {
193
- let encoded = self.toAnyEncodable(payload!["result"])
194
- Screeb.onHookResult(hookId, encoded)
159
+ Screeb.onHookResult(hookId, payload!["result"])
195
160
  }
196
161
  }
197
162
  }
@@ -208,47 +173,12 @@ class ScreebReactNative: RCTEventEmitter {
208
173
  }
209
174
  }
210
175
 
211
- private func toAnyEncodable(_ value: Any?) -> AnyEncodable? {
212
- if let nsValue = value as? NSNumber {
213
- if CFBooleanGetTypeID() == CFGetTypeID(nsValue) {
214
- return AnyEncodable(nsValue.boolValue)
215
- } else if let value = value as? Int {
216
- return AnyEncodable(value)
217
- } else if let value = value as? Double {
218
- return AnyEncodable(value)
219
- } else if let value = value as? Float {
220
- return AnyEncodable(value)
221
- } else {
222
- return nil
223
- }
224
- } else if let value = value as? String {
225
- return AnyEncodable(value)
226
- } else if let value = value as? [String: Any?] {
227
- return AnyEncodable(self.mapToAnyEncodable(map: value))
228
- } else {
229
- return nil
230
- }
231
- }
232
-
233
- private func mapToAnyEncodable(map: [String: Any?]?) -> [String: AnyEncodable?] {
234
- var anyEncodableMap: [String: AnyEncodable?] = [:]
235
- map?.forEach { key, value in
236
- anyEncodableMap[key] = self.toAnyEncodable(value)
237
- }
238
- return anyEncodableMap
239
- }
240
-
241
176
  private func emitHookEvent(hookId: Any?, payload: Any) {
242
177
  guard let hookKey = hookId as? String else {
243
178
  return
244
179
  }
245
180
 
246
- guard let data = try? JSONEncoder().encode(toAnyEncodable(payload)),
247
- let encoded = String(data: data, encoding: .utf8) else {
248
- return
249
- }
250
-
251
- let body: [String: Any] = ["hookId": hookKey, "payload": encoded]
181
+ let body: [String: Any] = ["hookId": hookKey, "payload": payload]
252
182
 
253
183
  let sendBlock = { [weak self] in
254
184
  guard let self else { return }
@@ -165,7 +165,7 @@ function handleEvent(event) {
165
165
  if (event?.hookId != null) {
166
166
  const hook = hooksRegistry.get(event.hookId);
167
167
  if (hook != null) {
168
- const payload = event.payload ?? "{}";
168
+ const payload = event.payload ? typeof event.payload !== "string" ? JSON.stringify(event.payload) : event.payload : "{}";
169
169
  const result = hook(payload);
170
170
  const parsedPayload = JSON.parse(payload);
171
171
  const originalHookId = parsedPayload?.hook_id;
@@ -1 +1 @@
1
- {"version":3,"names":["DeviceEventEmitter","NativeEventEmitter","NativeModules","Platform","ScreebReactNative","emitter","initSdk","channelId","userId","properties","hooks","initOptions","language","OS","addListener","handleEvent","mapHooksId","Object","keys","map","key","v","version","undefined","uuid","Date","now","toString","Math","random","fn","hooksRegistry","set","toObject","setIdentity","setProperties","assignGroup","type","name","unassignGroup","trackEvent","trackScreen","startSurvey","surveyId","allowMultipleResponses","hiddenFields","ignoreSurveyStatus","distributionId","startMessage","messageId","ignoreMessageStatus","debug","debugTargeting","resetIdentity","closeSdk","removeAllListeners","closeSurvey","closeMessage","Map","event","hookId","hook","get","payload","result","parsedPayload","JSON","parse","originalHookId","hook_id","Promise","then","onHookResult","catch","error","console","value","fromEntries"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DeviceEventEmitter","NativeEventEmitter","NativeModules","Platform","ScreebReactNative","emitter","initSdk","channelId","userId","properties","hooks","initOptions","language","OS","addListener","handleEvent","mapHooksId","Object","keys","map","key","v","version","undefined","uuid","Date","now","toString","Math","random","fn","hooksRegistry","set","toObject","setIdentity","setProperties","assignGroup","type","name","unassignGroup","trackEvent","trackScreen","startSurvey","surveyId","allowMultipleResponses","hiddenFields","ignoreSurveyStatus","distributionId","startMessage","messageId","ignoreMessageStatus","debug","debugTargeting","resetIdentity","closeSdk","removeAllListeners","closeSurvey","closeMessage","Map","event","hookId","hook","get","payload","JSON","stringify","result","parsedPayload","parse","originalHookId","hook_id","Promise","then","onHookResult","catch","error","console","value","fromEntries"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@screeb/react-native",
3
- "version": "2.2.0",
3
+ "version": "3.0.0",
4
4
  "description": "Continuous Product Discovery",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
package/src/index.tsx CHANGED
@@ -241,11 +241,15 @@ const hooksRegistry = new Map<
241
241
  (payload: string) => unknown | Promise<unknown>
242
242
  >();
243
243
 
244
- function handleEvent(event: { hookId?: string; payload?: string }) {
244
+ function handleEvent(event: { hookId?: string; payload?: unknown }) {
245
245
  if (event?.hookId != null) {
246
246
  const hook = hooksRegistry.get(event.hookId);
247
247
  if (hook != null) {
248
- const payload = event.payload ?? "{}";
248
+ const payload = event.payload
249
+ ? typeof event.payload !== "string"
250
+ ? JSON.stringify(event.payload)
251
+ : event.payload
252
+ : "{}";
249
253
  const result = hook(payload);
250
254
  const parsedPayload = JSON.parse(payload);
251
255
  const originalHookId = parsedPayload?.hook_id;