@dashx/react-native 0.1.25 → 1.0.2

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.
Files changed (51) hide show
  1. package/android/build.gradle +22 -148
  2. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  3. package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
  4. package/android/gradlew +34 -21
  5. package/android/gradlew.bat +24 -19
  6. package/android/src/main/AndroidManifest.xml +2 -7
  7. package/android/src/main/java/com/dashx/rn/sdk/DashXReactNativeModule.kt +250 -0
  8. package/android/src/main/java/com/dashx/rn/sdk/{DashXPackage.kt → DashXReactNativePackage.kt} +2 -1
  9. package/android/src/main/java/com/dashx/rn/sdk/util/ArrayUtil.java +163 -0
  10. package/android/src/main/java/com/dashx/rn/sdk/util/MapUtil.java +168 -0
  11. package/android/src/main/java/com/dashx/rn/sdk/{Utils.kt → util/Utils.kt} +5 -5
  12. package/index.js +54 -74
  13. package/ios/DashX.swift +101 -93
  14. package/ios/DashXReactNative-Bridging-Header.h +4 -0
  15. package/ios/DashXReactNative.m +24 -0
  16. package/ios/DashXReactNative.xcodeproj/project.pbxproj +280 -0
  17. package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/contents.xcworkspacedata +1 -1
  18. package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  19. package/package.json +4 -13
  20. package/DashX.podspec +0 -27
  21. package/android/README.md +0 -23
  22. package/android/src/main/java/com/dashx/rn/sdk/DashXActivityLifecycleCallbacks.kt +0 -93
  23. package/android/src/main/java/com/dashx/rn/sdk/DashXClientInterceptor.kt +0 -66
  24. package/android/src/main/java/com/dashx/rn/sdk/DashXExceptionHandler.kt +0 -28
  25. package/android/src/main/java/com/dashx/rn/sdk/DashXMessagingService.kt +0 -176
  26. package/android/src/main/java/com/dashx/rn/sdk/DashXModule.kt +0 -193
  27. package/android/src/main/java/com/dashx/rn/sdk/NotificationReceiver.kt +0 -17
  28. package/ios/API.swift +0 -2420
  29. package/ios/Constants.swift +0 -14
  30. package/ios/DashX.m +0 -17
  31. package/ios/DashX.xcodeproj/project.pbxproj +0 -356
  32. package/ios/DashX.xcodeproj/xcshareddata/xcschemes/DashX.xcscheme +0 -67
  33. package/ios/DashXAppDelegate.swift +0 -73
  34. package/ios/DashXApplicationLifecycleCallbacks.swift +0 -65
  35. package/ios/DashXClient.swift +0 -319
  36. package/ios/DashXData.swift +0 -19
  37. package/ios/DashXLog.swift +0 -44
  38. package/ios/DashXUIViewController.swift +0 -15
  39. package/ios/Network.swift +0 -74
  40. package/ios/README.md +0 -80
  41. package/ios/Utils.swift +0 -13
  42. package/ios/graphql/AddContent.graphql +0 -8
  43. package/ios/graphql/AddItemToCart.graphql +0 -33
  44. package/ios/graphql/EditContent.graphql +0 -8
  45. package/ios/graphql/FetchCart.graphql +0 -33
  46. package/ios/graphql/FetchContent.graphql +0 -3
  47. package/ios/graphql/IdentifyAccount.graphql +0 -5
  48. package/ios/graphql/SearchContent.graphql +0 -3
  49. package/ios/graphql/SubscribeContact.graphql +0 -6
  50. package/ios/graphql/TrackEvent.graphql +0 -5
  51. package/ios/schema.json +0 -37038
package/ios/DashX.swift CHANGED
@@ -1,84 +1,45 @@
1
1
  import Foundation
2
- import FirebaseMessaging
2
+ import DashX
3
3
 
4
- @objc(DashX)
5
- class DashX: RCTEventEmitter {
6
- private var dashXClient = DashXClient.instance
4
+ typealias CBU = CallbackUtils
5
+
6
+ @objc(DashXReactNative)
7
+ class DashXReactNative: RCTEventEmitter {
8
+ private var dashXClient = DashX
7
9
 
8
10
  override init() {
9
11
  super.init()
10
12
  DashXEventEmitter.instance.registerEventEmitter(eventEmitter: self)
11
13
  }
12
14
 
13
- @objc
14
- func setLogLevel(_ logLevel: Int) {
15
- DashXLog.setLogLevel(to: logLevel)
16
- }
17
-
18
15
  override func supportedEvents() -> [String] {
19
16
  return ["messageReceived"]
20
17
  }
21
18
 
22
19
  @objc
23
- func setup(_ options: NSDictionary?) {
24
- ConfigInterceptor.shared.publicKey = options?.value(forKey: "publicKey") as? String
25
-
26
- DashXAppDelegate.swizzleDidReceiveRemoteNotificationFetchCompletionHandler()
27
-
28
- if let baseUri = options?.value(forKey: "baseUri") {
29
- Network.shared.setBaseUri(to: baseUri as! String)
30
- }
31
-
32
- if let targetInstallation = options?.value(forKey: "targetInstallation") {
33
- dashXClient.setTargetInstallation(to: targetInstallation as! String)
34
- }
35
-
36
- if let targetEnvironment = options?.value(forKey: "targetEnvironment") {
37
- dashXClient.setTargetEnvironment(to: targetEnvironment as! String)
38
- }
39
-
40
- if let trackAppLifecycleEvents = options?.value(forKey: "trackAppLifecycleEvents"), trackAppLifecycleEvents as! Bool {
41
- DashXApplicationLifecycleCallbacks.instance.enable()
42
- }
43
-
44
- if let trackScreenViews = options?.value(forKey: "trackScreenViews"), trackScreenViews as! Bool {
45
- UIViewController.swizzle()
46
- }
47
-
48
- // Based on https://firebase.google.com/docs/cloud-messaging/ios/client#access_the_registration_token
49
- Messaging.messaging().token { token, error in
50
- if let error = error {
51
- DashXLog.d(tag: #function, "Error fetching FCM registration token: \(error)")
52
- } else if let token = token {
53
- DashXLog.d(tag: #function, "Firebase initialised with: \(token)")
54
- self.dashXClient.setDeviceToken(to: token)
55
- }
56
- }
57
- }
58
-
59
- @objc(getConnectionConfig:rejecter:)
60
- func getConnectionConfig(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
61
- return resolve([
62
- "baseUri": Network.shared.getBaseUri(),
63
- "publicKey": ConfigInterceptor.shared.publicKey,
64
- "targetEnvironment": ConfigInterceptor.shared.targetEnvironment,
65
- "identityToken": ConfigInterceptor.shared.identityToken,
66
- ])
20
+ func configure(_ options: NSDictionary) {
21
+ let publicKey = options["publicKey"] as! String,
22
+ baseURI = options["baseURI"] as? String,
23
+ targetEnvironment = options["targetEnvironment"] as? String
24
+
25
+ dashXClient.configure(withPublicKey: publicKey,
26
+ baseURI: baseURI,
27
+ targetEnvironment: targetEnvironment)
67
28
  }
68
29
 
69
- @objc(identify:options:)
70
- func identify(_ uid: String?, _ options: NSDictionary?) {
71
- try? dashXClient.identify(uid, withOptions: options)
30
+ @objc(identify:)
31
+ func identify(_ options: NSDictionary) {
32
+ try? dashXClient.identify(withOptions: options)
72
33
  }
73
34
 
74
- @objc
75
- func setIdentityToken(_ identityToken: String) {
76
- dashXClient.setIdentityToken(to: identityToken)
35
+ @objc(setIdentity:token:)
36
+ func setIdentity(_ uid: String, _ token: String) {
37
+ dashXClient.setIdentity(uid: uid, token: token)
77
38
  }
78
39
 
79
40
  @objc
80
41
  func reset() {
81
- dashXClient.reset()
42
+ dashXClient.reset()
82
43
  }
83
44
 
84
45
  @objc(track:data:)
@@ -88,7 +49,7 @@ class DashX: RCTEventEmitter {
88
49
 
89
50
  @objc(screen:data:)
90
51
  func screen(_ screenName: String, _ data: NSDictionary?) {
91
- dashXClient.screen(screenName, withData: data)
52
+ dashXClient.screen(screenName, withData: data)
92
53
  }
93
54
 
94
55
  @objc(searchContent:options:resolver:rejecter:)
@@ -96,18 +57,18 @@ class DashX: RCTEventEmitter {
96
57
  let optionsDictionary = options as? [String: Any]
97
58
 
98
59
  dashXClient.searchContent(
99
- contentType,
100
- optionsDictionary?["returnType"] as! String? ?? "all",
101
- optionsDictionary?["filter"] as! NSDictionary?,
102
- optionsDictionary?["order"] as! NSDictionary?,
103
- optionsDictionary?["limit"] as! Int?,
104
- optionsDictionary?["preview"] as! Bool?,
105
- optionsDictionary?["language"] as! String?,
106
- optionsDictionary?["fields"] as! [String]?,
107
- optionsDictionary?["include"] as! [String]?,
108
- optionsDictionary?["exclude"] as! [String]?,
109
- resolve,
110
- reject
60
+ contentType: contentType,
61
+ returnType: optionsDictionary?["returnType"] as! String? ?? "all",
62
+ filter: optionsDictionary?["filter"] as! NSDictionary?,
63
+ order: optionsDictionary?["order"] as! NSDictionary?,
64
+ limit: optionsDictionary?["limit"] as! Int?,
65
+ preview: optionsDictionary?["preview"] as! Bool?,
66
+ language: optionsDictionary?["language"] as! String?,
67
+ fields: optionsDictionary?["fields"] as! [String]?,
68
+ include: optionsDictionary?["include"] as! [String]?,
69
+ exclude: optionsDictionary?["exclude"] as! [String]?,
70
+ successCallback: CBU.resolveToSuccessCallback(resolve),
71
+ failureCallback: CBU.rejectToFailureCallback(reject)
111
72
  )
112
73
  }
113
74
 
@@ -117,15 +78,15 @@ class DashX: RCTEventEmitter {
117
78
  let urnArray = urn.split{$0 == "/"}.map(String.init)
118
79
 
119
80
  dashXClient.fetchContent(
120
- urnArray[0],
121
- urnArray[1],
122
- optionsDictionary?["preview"] as! Bool?,
123
- optionsDictionary?["language"] as! String?,
124
- optionsDictionary?["fields"] as! [String]?,
125
- optionsDictionary?["include"] as! [String]?,
126
- optionsDictionary?["exclude"] as! [String]?,
127
- resolve,
128
- reject
81
+ contentType: urnArray[0],
82
+ content: urnArray[1],
83
+ preview: optionsDictionary?["preview"] as! Bool?,
84
+ language: optionsDictionary?["language"] as! String?,
85
+ fields: optionsDictionary?["fields"] as! [String]?,
86
+ include: optionsDictionary?["include"] as! [String]?,
87
+ exclude: optionsDictionary?["exclude"] as! [String]?,
88
+ successCallback: CBU.resolveToSuccessCallback(resolve),
89
+ failureCallback: CBU.rejectToFailureCallback(reject)
129
90
  )
130
91
  }
131
92
 
@@ -133,27 +94,74 @@ class DashX: RCTEventEmitter {
133
94
  func addItemToCart(_ itemId: String, _ pricingId: String, _ quantity: String, _ reset: Bool, _ custom: NSDictionary?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
134
95
 
135
96
  dashXClient.addItemToCart(
136
- itemId,
137
- pricingId,
138
- quantity,
139
- reset,
140
- custom,
141
- resolve,
142
- reject
97
+ itemId: itemId,
98
+ pricingId: pricingId,
99
+ quantity: quantity,
100
+ reset: reset,
101
+ custom: custom,
102
+ successCallback: CBU.resolveToSuccessCallback(resolve),
103
+ failureCallback: CBU.rejectToFailureCallback(reject)
143
104
  )
144
105
  }
145
106
 
146
107
  @objc(fetchCart:rejecter:)
147
- func fetchCart(resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
108
+ func fetchCart(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
148
109
 
149
110
  dashXClient.fetchCart(
150
- resolve,
151
- reject
111
+ successCallback: CBU.resolveToSuccessCallback(resolve),
112
+ failureCallback: CBU.rejectToFailureCallback(reject)
152
113
  )
153
114
  }
154
115
 
116
+ @objc(fetchStoredPreferences:rejecter:)
117
+ func fetchStoredPreferences(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
118
+
119
+ dashXClient.fetchStoredPreferences(
120
+ successCallback: CBU.resolveToSuccessCallback(resolve),
121
+ failureCallback: CBU.rejectToFailureCallback(reject)
122
+ )
123
+ }
124
+
125
+ @objc(uploadExternalAsset:externalColumnId:resolver:rejecter:)
126
+ func uploadExternalAsset(_ file: NSDictionary, _ externalColumnId: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
127
+ if let fileDictionary = file as? [String: Any], let fileURI = fileDictionary["uri"] as? String {
128
+ // Remove unnecessary file:/// prefix for correct URL resolution
129
+ let normalizedURI = fileURI.replacingOccurrences(of: "file:///", with: "")
130
+
131
+ dashXClient.uploadExternalAsset(
132
+ fileURL: URL(fileURLWithPath: normalizedURI),
133
+ externalColumnId: externalColumnId,
134
+ successCallback: CBU.resolveToSuccessCallback(resolve),
135
+ failureCallback: CBU.rejectToFailureCallback(reject)
136
+ )
137
+ }
138
+ }
139
+
140
+ @objc(externalAsset:resolver:rejecter:)
141
+ func externalAsset(_ assetId: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
142
+ dashXClient.externalAsset(
143
+ assetId: assetId,
144
+ successCallback: CBU.resolveToSuccessCallback(resolve),
145
+ failureCallback: CBU.rejectToFailureCallback(reject)
146
+ )
147
+ }
148
+
155
149
  @objc
156
150
  func subscribe() {
157
- dashXClient.subscribe()
151
+ dashXClient.subscribe()
152
+ }
153
+ }
154
+
155
+ class CallbackUtils {
156
+ static func resolveToSuccessCallback(_ resolve: @escaping RCTPromiseResolveBlock) -> SuccessCallback {
157
+ return resolve
158
+ }
159
+
160
+ static func rejectToFailureCallback(_ reject: @escaping RCTPromiseRejectBlock) -> FailureCallback {
161
+ let result: FailureCallback = { (error) in
162
+ reject("\((error as NSError).code)", error.localizedDescription, error)
163
+ }
164
+
165
+ return result
158
166
  }
159
167
  }
@@ -0,0 +1,4 @@
1
+ //
2
+ // Use this file to import your target's public headers that you would like to expose to Swift.
3
+ //
4
+
@@ -0,0 +1,24 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(DashXReactNative, RCTEventEmitter)
5
+ + (BOOL)requiresMainQueueSetup
6
+ {
7
+ return NO;
8
+ }
9
+
10
+ RCT_EXTERN_METHOD(configure:(NSDictionary *)options)
11
+ RCT_EXTERN_METHOD(identify:)
12
+ RCT_EXTERN_METHOD(setIdentity:(nonnull NSString *)uid token:(nonnull NSString *)token)
13
+ RCT_EXTERN_METHOD(reset)
14
+ RCT_EXTERN_METHOD(track:(NSString *)event data:(nullable NSDictionary *)data)
15
+ RCT_EXTERN_METHOD(screen:(NSString *)event data:(nullable NSDictionary *)data)
16
+ RCT_EXTERN_METHOD(searchContent:(NSString *)contentType options:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
17
+ RCT_EXTERN_METHOD(fetchContent:(NSString *)urn options:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
18
+ RCT_EXTERN_METHOD(addItemToCart:(NSString *)itemId pricingId:(NSString *)pricingId quantity:(NSString *)quantity reset:(BOOL)reset custom:(NSDictionary *)custom resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
19
+ RCT_EXTERN_METHOD(fetchCart:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
20
+ RCT_EXTERN_METHOD(fetchStoredPreferences:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
21
+ RCT_EXTERN_METHOD(uploadExternalAsset:(NSDictionary *)file externalColumnId:(NSString *)externalColumnId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
22
+ RCT_EXTERN_METHOD(externalAsset:(NSString *)assetId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
23
+ RCT_EXTERN_METHOD(subscribe)
24
+ @end
@@ -0,0 +1,280 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 7C3CFED5289B9C6E00D184AB /* DashX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C3CFED3289B9C6E00D184AB /* DashX.swift */; };
11
+ 7C3CFED6289B9C6E00D184AB /* DashXEventEmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C3CFED4289B9C6E00D184AB /* DashXEventEmitter.swift */; };
12
+ B3E7B58A1CC2AC0600A0062D /* DashXReactNative.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* DashXReactNative.m */; };
13
+ /* End PBXBuildFile section */
14
+
15
+ /* Begin PBXCopyFilesBuildPhase section */
16
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
17
+ isa = PBXCopyFilesBuildPhase;
18
+ buildActionMask = 2147483647;
19
+ dstPath = "include/$(PRODUCT_NAME)";
20
+ dstSubfolderSpec = 16;
21
+ files = (
22
+ );
23
+ runOnlyForDeploymentPostprocessing = 0;
24
+ };
25
+ /* End PBXCopyFilesBuildPhase section */
26
+
27
+ /* Begin PBXFileReference section */
28
+ 134814201AA4EA6300B7C361 /* libDashXReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDashXReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; };
29
+ 7C3CFED0289B9C6D00D184AB /* DashXReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DashXReactNative-Bridging-Header.h"; sourceTree = "<group>"; };
30
+ 7C3CFED2289B9C6E00D184AB /* DashXReactNative.xcworkspace */ = {isa = PBXFileReference; lastKnownFileType = wrapper.workspace; path = DashXReactNative.xcworkspace; sourceTree = "<group>"; };
31
+ 7C3CFED3289B9C6E00D184AB /* DashX.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DashX.swift; sourceTree = "<group>"; };
32
+ 7C3CFED4289B9C6E00D184AB /* DashXEventEmitter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DashXEventEmitter.swift; sourceTree = "<group>"; };
33
+ B3E7B5891CC2AC0600A0062D /* DashXReactNative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DashXReactNative.m; sourceTree = "<group>"; };
34
+ /* End PBXFileReference section */
35
+
36
+ /* Begin PBXFrameworksBuildPhase section */
37
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
38
+ isa = PBXFrameworksBuildPhase;
39
+ buildActionMask = 2147483647;
40
+ files = (
41
+ );
42
+ runOnlyForDeploymentPostprocessing = 0;
43
+ };
44
+ /* End PBXFrameworksBuildPhase section */
45
+
46
+ /* Begin PBXGroup section */
47
+ 134814211AA4EA7D00B7C361 /* Products */ = {
48
+ isa = PBXGroup;
49
+ children = (
50
+ 134814201AA4EA6300B7C361 /* libDashXReactNative.a */,
51
+ );
52
+ name = Products;
53
+ sourceTree = "<group>";
54
+ };
55
+ 58B511D21A9E6C8500147676 = {
56
+ isa = PBXGroup;
57
+ children = (
58
+ B3E7B5891CC2AC0600A0062D /* DashXReactNative.m */,
59
+ 134814211AA4EA7D00B7C361 /* Products */,
60
+ 7C3CFED3289B9C6E00D184AB /* DashX.swift */,
61
+ 7C3CFED4289B9C6E00D184AB /* DashXEventEmitter.swift */,
62
+ 7C3CFED2289B9C6E00D184AB /* DashXReactNative.xcworkspace */,
63
+ 7C3CFED0289B9C6D00D184AB /* DashXReactNative-Bridging-Header.h */,
64
+ );
65
+ sourceTree = "<group>";
66
+ };
67
+ /* End PBXGroup section */
68
+
69
+ /* Begin PBXNativeTarget section */
70
+ 58B511DA1A9E6C8500147676 /* DashXReactNative */ = {
71
+ isa = PBXNativeTarget;
72
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "DashXReactNative" */;
73
+ buildPhases = (
74
+ 58B511D71A9E6C8500147676 /* Sources */,
75
+ 58B511D81A9E6C8500147676 /* Frameworks */,
76
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
77
+ );
78
+ buildRules = (
79
+ );
80
+ dependencies = (
81
+ );
82
+ name = DashXReactNative;
83
+ productName = RCTDataManager;
84
+ productReference = 134814201AA4EA6300B7C361 /* libDashXReactNative.a */;
85
+ productType = "com.apple.product-type.library.static";
86
+ };
87
+ /* End PBXNativeTarget section */
88
+
89
+ /* Begin PBXProject section */
90
+ 58B511D31A9E6C8500147676 /* Project object */ = {
91
+ isa = PBXProject;
92
+ attributes = {
93
+ LastUpgradeCheck = 0830;
94
+ ORGANIZATIONNAME = Facebook;
95
+ TargetAttributes = {
96
+ 58B511DA1A9E6C8500147676 = {
97
+ CreatedOnToolsVersion = 6.1.1;
98
+ LastSwiftMigration = 1340;
99
+ };
100
+ };
101
+ };
102
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "DashXReactNative" */;
103
+ compatibilityVersion = "Xcode 3.2";
104
+ developmentRegion = English;
105
+ hasScannedForEncodings = 0;
106
+ knownRegions = (
107
+ English,
108
+ en,
109
+ );
110
+ mainGroup = 58B511D21A9E6C8500147676;
111
+ productRefGroup = 58B511D21A9E6C8500147676;
112
+ projectDirPath = "";
113
+ projectRoot = "";
114
+ targets = (
115
+ 58B511DA1A9E6C8500147676 /* DashXReactNative */,
116
+ );
117
+ };
118
+ /* End PBXProject section */
119
+
120
+ /* Begin PBXSourcesBuildPhase section */
121
+ 58B511D71A9E6C8500147676 /* Sources */ = {
122
+ isa = PBXSourcesBuildPhase;
123
+ buildActionMask = 2147483647;
124
+ files = (
125
+ 7C3CFED5289B9C6E00D184AB /* DashX.swift in Sources */,
126
+ 7C3CFED6289B9C6E00D184AB /* DashXEventEmitter.swift in Sources */,
127
+ B3E7B58A1CC2AC0600A0062D /* DashXReactNative.m in Sources */,
128
+ );
129
+ runOnlyForDeploymentPostprocessing = 0;
130
+ };
131
+ /* End PBXSourcesBuildPhase section */
132
+
133
+ /* Begin XCBuildConfiguration section */
134
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
135
+ isa = XCBuildConfiguration;
136
+ buildSettings = {
137
+ ALWAYS_SEARCH_USER_PATHS = NO;
138
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
139
+ CLANG_CXX_LIBRARY = "libc++";
140
+ CLANG_ENABLE_MODULES = YES;
141
+ CLANG_ENABLE_OBJC_ARC = YES;
142
+ CLANG_WARN_BOOL_CONVERSION = YES;
143
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
144
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
145
+ CLANG_WARN_EMPTY_BODY = YES;
146
+ CLANG_WARN_ENUM_CONVERSION = YES;
147
+ CLANG_WARN_INFINITE_RECURSION = YES;
148
+ CLANG_WARN_INT_CONVERSION = YES;
149
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
150
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
151
+ CLANG_WARN_UNREACHABLE_CODE = YES;
152
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
153
+ COPY_PHASE_STRIP = NO;
154
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
155
+ ENABLE_TESTABILITY = YES;
156
+ GCC_C_LANGUAGE_STANDARD = gnu99;
157
+ GCC_DYNAMIC_NO_PIC = NO;
158
+ GCC_NO_COMMON_BLOCKS = YES;
159
+ GCC_OPTIMIZATION_LEVEL = 0;
160
+ GCC_PREPROCESSOR_DEFINITIONS = (
161
+ "DEBUG=1",
162
+ "$(inherited)",
163
+ );
164
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
165
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
166
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
167
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
168
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
169
+ GCC_WARN_UNUSED_FUNCTION = YES;
170
+ GCC_WARN_UNUSED_VARIABLE = YES;
171
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
172
+ MTL_ENABLE_DEBUG_INFO = YES;
173
+ ONLY_ACTIVE_ARCH = YES;
174
+ SDKROOT = iphoneos;
175
+ };
176
+ name = Debug;
177
+ };
178
+ 58B511EE1A9E6C8500147676 /* Release */ = {
179
+ isa = XCBuildConfiguration;
180
+ buildSettings = {
181
+ ALWAYS_SEARCH_USER_PATHS = NO;
182
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
183
+ CLANG_CXX_LIBRARY = "libc++";
184
+ CLANG_ENABLE_MODULES = YES;
185
+ CLANG_ENABLE_OBJC_ARC = YES;
186
+ CLANG_WARN_BOOL_CONVERSION = YES;
187
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
188
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
189
+ CLANG_WARN_EMPTY_BODY = YES;
190
+ CLANG_WARN_ENUM_CONVERSION = YES;
191
+ CLANG_WARN_INFINITE_RECURSION = YES;
192
+ CLANG_WARN_INT_CONVERSION = YES;
193
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
194
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
195
+ CLANG_WARN_UNREACHABLE_CODE = YES;
196
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
197
+ COPY_PHASE_STRIP = YES;
198
+ ENABLE_NS_ASSERTIONS = NO;
199
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
200
+ GCC_C_LANGUAGE_STANDARD = gnu99;
201
+ GCC_NO_COMMON_BLOCKS = YES;
202
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
203
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
204
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
205
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
206
+ GCC_WARN_UNUSED_FUNCTION = YES;
207
+ GCC_WARN_UNUSED_VARIABLE = YES;
208
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
209
+ MTL_ENABLE_DEBUG_INFO = NO;
210
+ SDKROOT = iphoneos;
211
+ VALIDATE_PRODUCT = YES;
212
+ };
213
+ name = Release;
214
+ };
215
+ 58B511F01A9E6C8500147676 /* Debug */ = {
216
+ isa = XCBuildConfiguration;
217
+ buildSettings = {
218
+ CLANG_ENABLE_MODULES = YES;
219
+ HEADER_SEARCH_PATHS = (
220
+ "$(inherited)",
221
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
222
+ "$(SRCROOT)/../../../React/**",
223
+ "$(SRCROOT)/../../react-native/React/**",
224
+ );
225
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
226
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
227
+ OTHER_LDFLAGS = "-ObjC";
228
+ PRODUCT_NAME = DashXReactNative;
229
+ SKIP_INSTALL = YES;
230
+ SWIFT_OBJC_BRIDGING_HEADER = "DashXReactNative-Bridging-Header.h";
231
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
232
+ SWIFT_VERSION = 5.0;
233
+ };
234
+ name = Debug;
235
+ };
236
+ 58B511F11A9E6C8500147676 /* Release */ = {
237
+ isa = XCBuildConfiguration;
238
+ buildSettings = {
239
+ CLANG_ENABLE_MODULES = YES;
240
+ HEADER_SEARCH_PATHS = (
241
+ "$(inherited)",
242
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
243
+ "$(SRCROOT)/../../../React/**",
244
+ "$(SRCROOT)/../../react-native/React/**",
245
+ );
246
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
247
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
248
+ OTHER_LDFLAGS = "-ObjC";
249
+ PRODUCT_NAME = DashXReactNative;
250
+ SKIP_INSTALL = YES;
251
+ SWIFT_OBJC_BRIDGING_HEADER = "DashXReactNative-Bridging-Header.h";
252
+ SWIFT_VERSION = 5.0;
253
+ };
254
+ name = Release;
255
+ };
256
+ /* End XCBuildConfiguration section */
257
+
258
+ /* Begin XCConfigurationList section */
259
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "DashXReactNative" */ = {
260
+ isa = XCConfigurationList;
261
+ buildConfigurations = (
262
+ 58B511ED1A9E6C8500147676 /* Debug */,
263
+ 58B511EE1A9E6C8500147676 /* Release */,
264
+ );
265
+ defaultConfigurationIsVisible = 0;
266
+ defaultConfigurationName = Release;
267
+ };
268
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "DashXReactNative" */ = {
269
+ isa = XCConfigurationList;
270
+ buildConfigurations = (
271
+ 58B511F01A9E6C8500147676 /* Debug */,
272
+ 58B511F11A9E6C8500147676 /* Release */,
273
+ );
274
+ defaultConfigurationIsVisible = 0;
275
+ defaultConfigurationName = Release;
276
+ };
277
+ /* End XCConfigurationList section */
278
+ };
279
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
280
+ }
@@ -2,6 +2,6 @@
2
2
  <Workspace
3
3
  version = "1.0">
4
4
  <FileRef
5
- location = "group:DashX.xcodeproj">
5
+ location = "group:DashXReactNative.xcodeproj">
6
6
  </FileRef>
7
7
  </Workspace>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dashx/react-native",
3
3
  "title": "DashX React Native",
4
- "version": "0.1.25",
4
+ "version": "1.0.2",
5
5
  "description": "DashX SDK for React Native",
6
6
  "main": "index.js",
7
7
  "files": [
@@ -24,25 +24,16 @@
24
24
  "react-native"
25
25
  ],
26
26
  "author": {
27
- "name": "DashxDev",
27
+ "name": "DashXDev",
28
28
  "email": "dev@dashx.com"
29
29
  },
30
30
  "license": "MIT",
31
31
  "licenseFilename": "LICENSE",
32
- "readmeFilename": "README.md",
33
32
  "peerDependencies": {
34
- "react": "^16.8.1",
35
- "react-native": ">=0.59.0-rc.0 <1.0.x"
33
+ "react-native": "^0.41.2"
36
34
  },
37
35
  "devDependencies": {
38
36
  "eslint": "^8.21.0",
39
- "eslint-plugin-react": "^7.30.1",
40
- "get-file-object-from-local-path": "^1.0.2",
41
- "react": "^16.11.0",
42
- "react-native": "^0.62.0-rc.2"
43
- },
44
- "dependencies": {
45
- "axios": "^0.27.2",
46
- "rn-fetch-blob": "^0.12.0"
37
+ "eslint-plugin-react": "^7.30.1"
47
38
  }
48
39
  }
package/DashX.podspec DELETED
@@ -1,27 +0,0 @@
1
- require "json"
2
-
3
- package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
-
5
- Pod::Spec.new do |s|
6
- s.name = "DashX"
7
- s.version = package["version"]
8
- s.summary = package["description"]
9
- s.description = <<-DESC
10
- @dashx/react-native
11
- DESC
12
- s.homepage = "https://github.com/github_account/@dashx/react-native"
13
- # brief license entry:
14
- s.license = "MIT"
15
- # optional - use expanded license entry instead:
16
- # s.license = { :type => "MIT", :file => "LICENSE" }
17
- s.authors = { "DashxDev" => "dev@dashx.com" }
18
- s.platforms = { :ios => "10.0" }
19
- s.source = { :git => "https://github.com/github_account/@dashx/react-native.git", :tag => "#{s.version}" }
20
-
21
- s.source_files = "ios/**/*.{h,c,m,swift}"
22
- s.requires_arc = true
23
-
24
- s.dependency "React"
25
- s.dependency "Apollo"
26
- s.dependency "FirebaseMessaging"
27
- end
package/android/README.md DELETED
@@ -1,23 +0,0 @@
1
- # Android Native Module
2
-
3
- ## Prerequisites
4
-
5
- - NodeJS
6
- - Android Studio
7
- - Android SDK
8
-
9
- ## Development
10
-
11
- - This native module uses DashX Android SDK to make API calls, so if you want to add any graphql requests add to [dashx-android](https://github.com/dashxhq/dashx-android).
12
-
13
- - Make sure all the Node dependencies are installed:
14
-
15
- ```sh
16
- $ yarn
17
- ```
18
-
19
- - To build this module:
20
-
21
- ```sh
22
- $ ./gradlew build
23
- ```