@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.
- package/android/build.gradle +22 -148
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
- package/android/gradlew +34 -21
- package/android/gradlew.bat +24 -19
- package/android/src/main/AndroidManifest.xml +2 -7
- package/android/src/main/java/com/dashx/rn/sdk/DashXReactNativeModule.kt +250 -0
- package/android/src/main/java/com/dashx/rn/sdk/{DashXPackage.kt → DashXReactNativePackage.kt} +2 -1
- package/android/src/main/java/com/dashx/rn/sdk/util/ArrayUtil.java +163 -0
- package/android/src/main/java/com/dashx/rn/sdk/util/MapUtil.java +168 -0
- package/android/src/main/java/com/dashx/rn/sdk/{Utils.kt → util/Utils.kt} +5 -5
- package/index.js +54 -74
- package/ios/DashX.swift +101 -93
- package/ios/DashXReactNative-Bridging-Header.h +4 -0
- package/ios/DashXReactNative.m +24 -0
- package/ios/DashXReactNative.xcodeproj/project.pbxproj +280 -0
- package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/contents.xcworkspacedata +1 -1
- package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- package/package.json +4 -13
- package/DashX.podspec +0 -27
- package/android/README.md +0 -23
- package/android/src/main/java/com/dashx/rn/sdk/DashXActivityLifecycleCallbacks.kt +0 -93
- package/android/src/main/java/com/dashx/rn/sdk/DashXClientInterceptor.kt +0 -66
- package/android/src/main/java/com/dashx/rn/sdk/DashXExceptionHandler.kt +0 -28
- package/android/src/main/java/com/dashx/rn/sdk/DashXMessagingService.kt +0 -176
- package/android/src/main/java/com/dashx/rn/sdk/DashXModule.kt +0 -193
- package/android/src/main/java/com/dashx/rn/sdk/NotificationReceiver.kt +0 -17
- package/ios/API.swift +0 -2420
- package/ios/Constants.swift +0 -14
- package/ios/DashX.m +0 -17
- package/ios/DashX.xcodeproj/project.pbxproj +0 -356
- package/ios/DashX.xcodeproj/xcshareddata/xcschemes/DashX.xcscheme +0 -67
- package/ios/DashXAppDelegate.swift +0 -73
- package/ios/DashXApplicationLifecycleCallbacks.swift +0 -65
- package/ios/DashXClient.swift +0 -319
- package/ios/DashXData.swift +0 -19
- package/ios/DashXLog.swift +0 -44
- package/ios/DashXUIViewController.swift +0 -15
- package/ios/Network.swift +0 -74
- package/ios/README.md +0 -80
- package/ios/Utils.swift +0 -13
- package/ios/graphql/AddContent.graphql +0 -8
- package/ios/graphql/AddItemToCart.graphql +0 -33
- package/ios/graphql/EditContent.graphql +0 -8
- package/ios/graphql/FetchCart.graphql +0 -33
- package/ios/graphql/FetchContent.graphql +0 -3
- package/ios/graphql/IdentifyAccount.graphql +0 -5
- package/ios/graphql/SearchContent.graphql +0 -3
- package/ios/graphql/SubscribeContact.graphql +0 -6
- package/ios/graphql/TrackEvent.graphql +0 -5
- package/ios/schema.json +0 -37038
package/ios/DashX.swift
CHANGED
|
@@ -1,84 +1,45 @@
|
|
|
1
1
|
import Foundation
|
|
2
|
-
import
|
|
2
|
+
import DashX
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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:
|
|
70
|
-
func identify(_
|
|
71
|
-
try? dashXClient.identify(
|
|
30
|
+
@objc(identify:)
|
|
31
|
+
func identify(_ options: NSDictionary) {
|
|
32
|
+
try? dashXClient.identify(withOptions: options)
|
|
72
33
|
}
|
|
73
34
|
|
|
74
|
-
@objc
|
|
75
|
-
func
|
|
76
|
-
dashXClient.
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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,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
|
+
}
|
package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist
RENAMED
|
File without changes
|
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.
|
|
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": "
|
|
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": "^
|
|
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
|
-
```
|