bridgefy-react-native 1.1.8 → 1.1.9
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/LICENSE +1 -1
- package/README.md +137 -76
- package/android/build.gradle +37 -56
- package/android/gradle.properties +4 -4
- package/android/src/main/AndroidManifest.xml +1 -11
- package/android/src/main/java/me/bridgefy/plugin/react_native/BridgefyReactNativeModule.kt +590 -333
- package/android/src/main/java/me/bridgefy/plugin/react_native/BridgefyReactNativePackage.kt +25 -8
- package/android/src/main/java/me/bridgefy/plugin/react_native/service/BridgefyService.kt +625 -0
- package/android/src/main/java/me/bridgefy/plugin/react_native/util/BridgefyOperationModeManager.kt +193 -0
- package/android/src/main/java/me/bridgefy/plugin/react_native/util/BridgefyServiceManager.kt +123 -0
- package/android/src/main/java/me/bridgefy/plugin/react_native/util/Utils.kt +172 -0
- package/bridgefy-react-native.podspec +5 -25
- package/ios/BridgefyReactNativeModule.m +88 -0
- package/ios/BridgefyReactNativeModule.swift +524 -0
- package/lib/module/NativeBridgefy.js +117 -0
- package/lib/module/NativeBridgefy.js.map +1 -0
- package/lib/module/index.js +172 -207
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeBridgefy.d.ts +250 -0
- package/lib/typescript/src/NativeBridgefy.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +146 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +77 -74
- package/src/NativeBridgefy.ts +321 -0
- package/src/index.tsx +283 -225
- package/ios/BridgefyReactNative.m +0 -56
- package/ios/BridgefyReactNative.swift +0 -368
- package/ios/BridgefyReactNative.xcodeproj/project.pbxproj +0 -293
- package/ios/BridgefyReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/BridgefyReactNative.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/BridgefyReactNative.xcodeproj/project.xcworkspace/xcuserdata/bridgefy.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/BridgefyReactNative.xcodeproj/xcuserdata/bridgefy.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/ios/Frameworks/BridgefySDK.xcframework/Info.plist +0 -48
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/BridgefySDK +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Headers/BridgefySDK-Swift.h +0 -317
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Headers/BridgefySDK.h +0 -15
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Info.plist +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios.abi.json +0 -5523
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios.private.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/Modules/module.modulemap +0 -11
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/BridgefySDK.framework/_CodeSignature/CodeResources +0 -190
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/dSYMs/BridgefySDK.framework.dSYM/Contents/Info.plist +0 -20
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/dSYMs/BridgefySDK.framework.dSYM/Contents/Resources/DWARF/BridgefySDK +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64/dSYMs/BridgefySDK.framework.dSYM/Contents/Resources/Relocations/aarch64/BridgefySDK.yml +0 -12529
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/BridgefySDK +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Headers/BridgefySDK-Swift.h +0 -630
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Headers/BridgefySDK.h +0 -15
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Info.plist +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -5523
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -5523
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/BridgefySDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -116
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/Modules/module.modulemap +0 -11
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/BridgefySDK.framework/_CodeSignature/CodeResources +0 -245
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/BridgefySDK.framework.dSYM/Contents/Info.plist +0 -20
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/BridgefySDK.framework.dSYM/Contents/Resources/DWARF/BridgefySDK +0 -0
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/BridgefySDK.framework.dSYM/Contents/Resources/Relocations/aarch64/BridgefySDK.yml +0 -12276
- package/ios/Frameworks/BridgefySDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/BridgefySDK.framework.dSYM/Contents/Resources/Relocations/x86_64/BridgefySDK.yml +0 -11932
- package/lib/commonjs/index.js +0 -278
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/infraestructure/index.js +0 -28
- package/lib/commonjs/infraestructure/index.js.map +0 -1
- package/lib/commonjs/infraestructure/interfaces/ibridgefy.js +0 -6
- package/lib/commonjs/infraestructure/interfaces/ibridgefy.js.map +0 -1
- package/lib/commonjs/infraestructure/interfaces/index.js +0 -17
- package/lib/commonjs/infraestructure/interfaces/index.js.map +0 -1
- package/lib/commonjs/infraestructure/services/bridgefy_service.js +0 -6
- package/lib/commonjs/infraestructure/services/bridgefy_service.js.map +0 -1
- package/lib/commonjs/infraestructure/services/index.js +0 -17
- package/lib/commonjs/infraestructure/services/index.js.map +0 -1
- package/lib/module/infraestructure/index.js +0 -3
- package/lib/module/infraestructure/index.js.map +0 -1
- package/lib/module/infraestructure/interfaces/ibridgefy.js +0 -2
- package/lib/module/infraestructure/interfaces/ibridgefy.js.map +0 -1
- package/lib/module/infraestructure/interfaces/index.js +0 -2
- package/lib/module/infraestructure/interfaces/index.js.map +0 -1
- package/lib/module/infraestructure/services/bridgefy_service.js +0 -2
- package/lib/module/infraestructure/services/bridgefy_service.js.map +0 -1
- package/lib/module/infraestructure/services/index.js +0 -2
- package/lib/module/infraestructure/services/index.js.map +0 -1
- package/lib/typescript/index.d.ts +0 -219
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/infraestructure/index.d.ts +0 -3
- package/lib/typescript/infraestructure/index.d.ts.map +0 -1
- package/lib/typescript/infraestructure/interfaces/ibridgefy.d.ts +0 -10
- package/lib/typescript/infraestructure/interfaces/ibridgefy.d.ts.map +0 -1
- package/lib/typescript/infraestructure/interfaces/index.d.ts +0 -2
- package/lib/typescript/infraestructure/interfaces/index.d.ts.map +0 -1
- package/lib/typescript/infraestructure/services/bridgefy_service.d.ts +0 -17
- package/lib/typescript/infraestructure/services/bridgefy_service.d.ts.map +0 -1
- package/lib/typescript/infraestructure/services/index.d.ts +0 -2
- package/lib/typescript/infraestructure/services/index.d.ts.map +0 -1
- package/src/infraestructure/index.tsx +0 -2
- package/src/infraestructure/interfaces/ibridgefy.tsx +0 -10
- package/src/infraestructure/interfaces/index.tsx +0 -1
- package/src/infraestructure/services/bridgefy_service.tsx +0 -20
- package/src/infraestructure/services/index.tsx +0 -1
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
import BridgefySDK
|
|
2
|
+
import React
|
|
3
|
+
|
|
4
|
+
@objc(BridgefyReactNative)
|
|
5
|
+
class BridgefyReactNative: RCTEventEmitter, BridgefyDelegate {
|
|
6
|
+
// MARK: - Properties
|
|
7
|
+
|
|
8
|
+
private var bridgefy: Bridgefy?
|
|
9
|
+
private var isInitialized = false
|
|
10
|
+
private var isStarted = false
|
|
11
|
+
private var currentUserId: UUID?
|
|
12
|
+
|
|
13
|
+
private var pendingStartResolve: RCTPromiseResolveBlock?
|
|
14
|
+
private var pendingStartReject: RCTPromiseRejectBlock?
|
|
15
|
+
|
|
16
|
+
private var pendingStopResolve: RCTPromiseResolveBlock?
|
|
17
|
+
private var pendingStopReject: RCTPromiseRejectBlock?
|
|
18
|
+
|
|
19
|
+
private var pendingDestroyResolve: RCTPromiseResolveBlock?
|
|
20
|
+
private var pendingDestroyReject: RCTPromiseRejectBlock?
|
|
21
|
+
|
|
22
|
+
private var pendingConnectionResolve: RCTPromiseResolveBlock?
|
|
23
|
+
private var pendingConnectionReject: RCTPromiseRejectBlock?
|
|
24
|
+
|
|
25
|
+
func requiresMainQueueSetup() -> DarwinBoolean {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override func supportedEvents() -> [String]! {
|
|
30
|
+
return [
|
|
31
|
+
// Lifecycle Events
|
|
32
|
+
"bridgefyDidStart",
|
|
33
|
+
"bridgefyDidStop",
|
|
34
|
+
"bridgefyDidFailToStart",
|
|
35
|
+
"bridgefyDidFailToStop",
|
|
36
|
+
"bridgefyDidDestroySession",
|
|
37
|
+
"bridgefyDidFailToDestroySession",
|
|
38
|
+
|
|
39
|
+
// Connection Events
|
|
40
|
+
"bridgefyDidConnect",
|
|
41
|
+
"bridgefyDidDisconnect",
|
|
42
|
+
"bridgefyDidUpdateConnectedPeers",
|
|
43
|
+
"bridgefyDidEstablishSecureConnection",
|
|
44
|
+
"bridgefyDidFailToEstablishSecureConnection",
|
|
45
|
+
|
|
46
|
+
// Message Events
|
|
47
|
+
"bridgefyDidSendMessage",
|
|
48
|
+
"bridgefyDidFailSendingMessage",
|
|
49
|
+
"bridgefyDidReceiveData",
|
|
50
|
+
"bridgefyMessageReceived",
|
|
51
|
+
"bridgefyDidSendDataProgress",
|
|
52
|
+
|
|
53
|
+
// License Events
|
|
54
|
+
"bridgefyDidUpdateLicense",
|
|
55
|
+
"bridgefyDidFailToUpdateLicense",
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// MARK: - Initialization Methods
|
|
60
|
+
|
|
61
|
+
@objc(initialize:withResolver:withRejecter:)
|
|
62
|
+
func initialize(config: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
63
|
+
guard let apiKey = config["apiKey"] as? String else {
|
|
64
|
+
reject("INVALID_API_KEY", "API key is required", nil)
|
|
65
|
+
return
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
let verboseLogging = config["verboseLogging"] as? Bool ?? false
|
|
69
|
+
do {
|
|
70
|
+
|
|
71
|
+
// Initialize Bridgefy SDK with API key
|
|
72
|
+
bridgefy = try Bridgefy(
|
|
73
|
+
withApiKey: apiKey,
|
|
74
|
+
delegate: self,
|
|
75
|
+
verboseLogging: verboseLogging
|
|
76
|
+
)
|
|
77
|
+
isInitialized = true
|
|
78
|
+
if verboseLogging {
|
|
79
|
+
print("[Bridgefy] SDK initialized successfully")
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
resolve(NSNull())
|
|
83
|
+
} catch {
|
|
84
|
+
reject("INITIALIZATION_ERROR", error.localizedDescription, error)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// MARK: - Lifecycle Methods
|
|
89
|
+
|
|
90
|
+
@objc(start:propagationProfile:withResolver:withRejecter:)
|
|
91
|
+
func start(userId: String?, propagationProfile: String?, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
92
|
+
|
|
93
|
+
guard isInitialized else {
|
|
94
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy SDK not initialized", nil)
|
|
95
|
+
return
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
guard !isStarted else {
|
|
99
|
+
reject("SERVICE_ALREADY_STARTED", "Bridgefy SDK already started", nil)
|
|
100
|
+
return
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
guard let bridgefy = bridgefy else {
|
|
104
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy instance not available", nil)
|
|
105
|
+
return
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Parse propagation profile
|
|
109
|
+
let profile = parseProfile(propagationProfile ?? "standard")
|
|
110
|
+
|
|
111
|
+
// Convert user ID if provided
|
|
112
|
+
let customUserId: UUID? = userId != nil ? UUID(uuidString: userId!) : nil
|
|
113
|
+
|
|
114
|
+
pendingStartResolve = resolve
|
|
115
|
+
pendingStartReject = reject
|
|
116
|
+
|
|
117
|
+
bridgefy.start(withUserId: customUserId, andPropagationProfile: profile)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@objc(stop:withRejecter:)
|
|
121
|
+
func stop(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
122
|
+
guard isStarted else {
|
|
123
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy SDK not started", nil)
|
|
124
|
+
return
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
guard let bridgefy = bridgefy else {
|
|
128
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy instance not available", nil)
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
pendingStopResolve = resolve
|
|
133
|
+
pendingStopReject = reject
|
|
134
|
+
|
|
135
|
+
bridgefy.stop()
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@objc(destroySession:withRejecter:)
|
|
139
|
+
func destroySession(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
140
|
+
guard let bridgefy = bridgefy else {
|
|
141
|
+
reject("DESTROY_SESSION_ERROR", "Bridgefy instance not available", nil)
|
|
142
|
+
return
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
pendingDestroyResolve = resolve
|
|
146
|
+
pendingDestroyReject = reject
|
|
147
|
+
|
|
148
|
+
bridgefy.destroySession()
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// MARK: - Messaging Methods
|
|
152
|
+
|
|
153
|
+
@objc(send:transmissionMode:withResolver:withRejecter:)
|
|
154
|
+
func send(data: String, transmissionMode: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
155
|
+
guard isStarted else {
|
|
156
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy SDK not started", nil)
|
|
157
|
+
return
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
guard let bridgefy = bridgefy else {
|
|
161
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy instance not available", nil)
|
|
162
|
+
return
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
guard let type = transmissionMode["type"] as? String else {
|
|
166
|
+
reject("INVALID_MESSAGE", "Transmission mode type is required", nil)
|
|
167
|
+
return
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
let messageData = data.data(using: .utf8) ?? Data()
|
|
171
|
+
|
|
172
|
+
let mode: TransmissionMode
|
|
173
|
+
switch type {
|
|
174
|
+
case "broadcast":
|
|
175
|
+
guard let userId = currentUserId else {
|
|
176
|
+
reject("SERVICE_NOT_STARTED", "User ID not available", nil)
|
|
177
|
+
return
|
|
178
|
+
}
|
|
179
|
+
mode = .broadcast(senderId: userId)
|
|
180
|
+
|
|
181
|
+
case "p2p":
|
|
182
|
+
guard let uuidString = transmissionMode["uuid"] as? String,
|
|
183
|
+
let uuid = UUID(uuidString: uuidString) else {
|
|
184
|
+
reject("INVALID_MESSAGE", "UUID required for P2P transmission", nil)
|
|
185
|
+
return
|
|
186
|
+
}
|
|
187
|
+
mode = .p2p(userId: uuid)
|
|
188
|
+
|
|
189
|
+
case "mesh":
|
|
190
|
+
guard let uuidString = transmissionMode["uuid"] as? String,
|
|
191
|
+
let uuid = UUID(uuidString: uuidString) else {
|
|
192
|
+
reject("INVALID_MESSAGE", "UUID required for Mesh transmission", nil)
|
|
193
|
+
return
|
|
194
|
+
}
|
|
195
|
+
mode = .mesh(userId: uuid)
|
|
196
|
+
|
|
197
|
+
default:
|
|
198
|
+
reject("INVALID_MESSAGE", "Invalid transmission mode type", nil)
|
|
199
|
+
return
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
do {
|
|
203
|
+
let messageId = try bridgefy.send(messageData, using: mode)
|
|
204
|
+
resolve(messageId.uuidString)
|
|
205
|
+
} catch let error as NSError {
|
|
206
|
+
reject("MESSAGE_SEND_FAILED", error.localizedDescription, error)
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@objc(establishSecureConnection:withResolver:withRejecter:)
|
|
211
|
+
func establishSecureConnection(userId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
212
|
+
guard isStarted else {
|
|
213
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy SDK not started", nil)
|
|
214
|
+
return
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
guard let bridgefy = bridgefy else {
|
|
218
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy instance not available", nil)
|
|
219
|
+
return
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
guard let uuid = UUID(uuidString: userId) else {
|
|
223
|
+
reject("INVALID_MESSAGE", "Invalid user ID format", nil)
|
|
224
|
+
return
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
self.pendingConnectionResolve = resolve
|
|
228
|
+
self.pendingConnectionReject = reject
|
|
229
|
+
|
|
230
|
+
bridgefy.establishSecureConnection(with: uuid)
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// MARK: - Info Methods
|
|
234
|
+
|
|
235
|
+
@objc(currentUserId:withRejecter:)
|
|
236
|
+
func currentUserId(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
237
|
+
if let userId = currentUserId {
|
|
238
|
+
resolve(userId.uuidString)
|
|
239
|
+
} else {
|
|
240
|
+
reject("SERVICE_NOT_STARTED", "User ID not available", nil)
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@objc(connectedPeers:withRejecter:)
|
|
245
|
+
func connectedPeers(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
246
|
+
guard isStarted else {
|
|
247
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy SDK not started", nil)
|
|
248
|
+
return
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
guard let bridgefy = bridgefy else {
|
|
252
|
+
reject("SERVICE_NOT_STARTED", "Bridgefy instance not available", nil)
|
|
253
|
+
return
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
let peers = bridgefy.connectedPeers?.map { $0.uuidString } ?? []
|
|
257
|
+
resolve(peers)
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@objc(licenseExpirationDate:withRejecter:)
|
|
261
|
+
func licenseExpirationDate(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
262
|
+
guard let bridgefy = bridgefy else {
|
|
263
|
+
reject("LICENSE_ERROR", "Bridgefy instance not available", nil)
|
|
264
|
+
return
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
let expirationDate = bridgefy.licenseExpirationDate?.timeIntervalSince1970 ?? 0
|
|
268
|
+
let licenseInfo: [String: Any] = [
|
|
269
|
+
"expirationDate": expirationDate * 1000,
|
|
270
|
+
"isValid": expirationDate > Date().timeIntervalSince1970
|
|
271
|
+
]
|
|
272
|
+
resolve(licenseInfo)
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// MARK: - Status Methods
|
|
276
|
+
|
|
277
|
+
@objc(isInitialized:withRejecter:)
|
|
278
|
+
func isInitialized(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
279
|
+
resolve(isInitialized)
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
@objc(isStarted:withRejecter:)
|
|
283
|
+
func isStarted(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
284
|
+
resolve(isStarted)
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// MARK: Operation Mode Control
|
|
288
|
+
|
|
289
|
+
@objc(setOperationMode:withResolver:withRejecter:)
|
|
290
|
+
func setOperationMode(config: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
291
|
+
resolve(NSNull())
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
@objc(getOperationMode:withRejecter:)
|
|
295
|
+
func getOperationMode(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
296
|
+
let operation: [String: Any] = ["mode": "foreground"]
|
|
297
|
+
resolve(operation)
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@objc(switchToForeground:withRejecter:)
|
|
301
|
+
func switchToForeground(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
302
|
+
resolve(NSNull())
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
@objc(switchToBackground:withRejecter:)
|
|
306
|
+
func switchToBackground(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
307
|
+
resolve(NSNull())
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
@objc(getOperationStatus:withRejecter:)
|
|
311
|
+
func getOperationStatus(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
312
|
+
let status: [String: Any] =
|
|
313
|
+
[
|
|
314
|
+
"operationMode": "foreground",
|
|
315
|
+
"isInitialized": isInitialized,
|
|
316
|
+
"isStarted": isStarted,
|
|
317
|
+
"shouldRunInService": false,
|
|
318
|
+
"debugInfo": "foreground",
|
|
319
|
+
]
|
|
320
|
+
resolve(status)
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// MARK: - BridgefyDelegate Methods
|
|
324
|
+
|
|
325
|
+
func bridgefyDidStart(with userId: UUID) {
|
|
326
|
+
currentUserId = userId
|
|
327
|
+
isStarted = true
|
|
328
|
+
sendEvent(withName: "bridgefyDidStart", body: ["userId": userId.uuidString])
|
|
329
|
+
pendingStartResolve?(NSNull())
|
|
330
|
+
pendingStartResolve = nil
|
|
331
|
+
pendingStartReject = nil
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
func bridgefyDidStop() {
|
|
335
|
+
isStarted = false
|
|
336
|
+
sendEvent(withName: "bridgefyDidStop", body: nil)
|
|
337
|
+
pendingStopResolve?(NSNull())
|
|
338
|
+
pendingStopResolve = nil
|
|
339
|
+
pendingStopReject = nil
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
func bridgefyDidFailToStart(with error: BridgefyError) {
|
|
343
|
+
let errorBody = errorDictionary(from: error)
|
|
344
|
+
sendEvent(withName: "bridgefyDidFailToStart", body: errorBody)
|
|
345
|
+
pendingStartReject?("SERVICE_NOT_STARTED", error.localizedDescription, error)
|
|
346
|
+
pendingStartResolve = nil
|
|
347
|
+
pendingStartReject = nil
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
func bridgefyDidFailToStop(with error: BridgefyError) {
|
|
351
|
+
let errorBody = errorDictionary(from: error)
|
|
352
|
+
sendEvent(withName: "bridgefyDidFailToStop", body: errorBody)
|
|
353
|
+
pendingStopReject?("BRIDGEFY_DID_FAIL_TO_STOP", error.localizedDescription, error)
|
|
354
|
+
pendingStopResolve = nil
|
|
355
|
+
pendingStopReject = nil
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
func bridgefyDidConnect(with userId: UUID) {
|
|
359
|
+
sendEvent(withName: "bridgefyDidConnect", body: ["userId": userId.uuidString])
|
|
360
|
+
bridgefyDidUpdateConnectedPeers()
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
func bridgefyDidUpdateConnectedPeers() {
|
|
364
|
+
guard let bridgefy = bridgefy else {
|
|
365
|
+
return sendEvent(withName: "bridgefyDidUpdateConnectedPeers", body: ["peers": []])
|
|
366
|
+
}
|
|
367
|
+
let peers = bridgefy.connectedPeers?.map { $0.uuidString } ?? []
|
|
368
|
+
sendEvent(withName: "bridgefyDidUpdateConnectedPeers", body: ["peers": peers])
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
func bridgefyDidDisconnect(from userId: UUID) {
|
|
372
|
+
sendEvent(withName: "bridgefyDidDisconnect", body: ["userId": userId.uuidString])
|
|
373
|
+
bridgefyDidUpdateConnectedPeers()
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
func bridgefyDidEstablishSecureConnection(with userId: UUID) {
|
|
377
|
+
sendEvent(withName: "bridgefyDidEstablishSecureConnection", body: ["userId": userId.uuidString])
|
|
378
|
+
pendingConnectionResolve?(NSNull())
|
|
379
|
+
pendingConnectionResolve = nil
|
|
380
|
+
pendingConnectionReject = nil
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
func bridgefyDidFailToEstablishSecureConnection(with userId: UUID, error: BridgefyError) {
|
|
384
|
+
let errorBody = errorDictionary(from: error)
|
|
385
|
+
sendEvent(withName: "bridgefyDidFailToEstablishSecureConnection", body: errorBody)
|
|
386
|
+
pendingConnectionReject?("CONNECTION_ERROR", error.localizedDescription, error)
|
|
387
|
+
pendingConnectionResolve = nil
|
|
388
|
+
pendingConnectionReject = nil
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
func bridgefyDidSendMessage(with messageId: UUID) {
|
|
392
|
+
sendEvent(withName: "bridgefyDidSendMessage", body: ["messageId": messageId.uuidString])
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
func bridgefyDidFailSendingMessage(with messageId: UUID, withError error: BridgefyError) {
|
|
396
|
+
let errorBody = errorDictionary(from: error)
|
|
397
|
+
sendEvent(withName: "bridgefyDidFailSendingMessage", body: errorBody)
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
func bridgefyDidReceiveData(_ data: Data, with messageId: UUID, using transmissionMode: TransmissionMode) {
|
|
401
|
+
let dataString = String(data: data, encoding: .utf8) ?? ""
|
|
402
|
+
let transmissionModeType = transmissionModeDictionary(from: transmissionMode)
|
|
403
|
+
|
|
404
|
+
let messageBody: [String: Any] = [
|
|
405
|
+
"data": dataString,
|
|
406
|
+
"messageId": messageId.uuidString,
|
|
407
|
+
"transmissionMode": transmissionModeType
|
|
408
|
+
]
|
|
409
|
+
sendEvent(withName: "bridgefyDidReceiveData", body: messageBody)
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
func bridgefyDidDestroySession() {
|
|
413
|
+
// Clean
|
|
414
|
+
isInitialized = false
|
|
415
|
+
isStarted = false
|
|
416
|
+
bridgefy = nil
|
|
417
|
+
currentUserId = nil
|
|
418
|
+
|
|
419
|
+
sendEvent(withName: "bridgefyDidDestroySession", body: nil)
|
|
420
|
+
|
|
421
|
+
pendingDestroyResolve?(NSNull())
|
|
422
|
+
pendingDestroyResolve = nil
|
|
423
|
+
pendingDestroyReject = nil
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
func bridgefyDidFailToDestroySession(with error: BridgefyError) {
|
|
427
|
+
let errorBody = errorDictionary(from: error)
|
|
428
|
+
sendEvent(withName: "bridgefyDidFailToDestroySession", body: errorBody)
|
|
429
|
+
|
|
430
|
+
pendingDestroyReject?("DESTROY_SESSION_ERROR", error.localizedDescription, error)
|
|
431
|
+
pendingDestroyResolve = nil
|
|
432
|
+
pendingDestroyReject = nil
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
func bridgefyDidUpdateLicense() {
|
|
436
|
+
sendEvent(withName: "bridgefyDidUpdateLicense", body: nil)
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
func bridgefyDidFailToUpdateLicense(with error: BridgefyError) {
|
|
440
|
+
let errorBody = errorDictionary(from: error)
|
|
441
|
+
sendEvent(withName: "bridgefyDidFailToUpdateLicense", body: errorBody)
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// MARK: - Helper Methods
|
|
445
|
+
|
|
446
|
+
private func parseProfile(_ profile: String) -> PropagationProfile {
|
|
447
|
+
switch profile {
|
|
448
|
+
case "highDensityNetwork":
|
|
449
|
+
return .highDensityNetwork
|
|
450
|
+
case "sparseNetwork":
|
|
451
|
+
return .sparseNetwork
|
|
452
|
+
case "longReach":
|
|
453
|
+
return .longReach
|
|
454
|
+
case "shortReach":
|
|
455
|
+
return .shortReach
|
|
456
|
+
case "realTime":
|
|
457
|
+
return .realTime
|
|
458
|
+
default:
|
|
459
|
+
return .standard
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
private func transmissionModeDictionary(from transmissionMode: TransmissionMode)
|
|
464
|
+
-> Dictionary<String, String> {
|
|
465
|
+
switch transmissionMode {
|
|
466
|
+
case .p2p(userId: let uuid):
|
|
467
|
+
return ["mode": "p2p", "uuid": uuid.uuidString]
|
|
468
|
+
case .mesh(userId: let uuid):
|
|
469
|
+
return ["mode": "mesh", "uuid": uuid.uuidString]
|
|
470
|
+
case .broadcast(senderId: let uuid):
|
|
471
|
+
return ["mode": "broadcast", "uuid": uuid.uuidString]
|
|
472
|
+
@unknown default:
|
|
473
|
+
return [:]
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
private func errorDictionary(from bridgefyError: BridgefyError) -> [String: Any] {
|
|
478
|
+
struct ErrorInfo {
|
|
479
|
+
let type: String
|
|
480
|
+
let details: Int?
|
|
481
|
+
}
|
|
482
|
+
let info: ErrorInfo
|
|
483
|
+
switch bridgefyError {
|
|
484
|
+
case .licenseError(let code, let data): info = .init(type: "licenseError", details: code)
|
|
485
|
+
case .storageError(let code): info = .init(type: "storageError", details: code)
|
|
486
|
+
case .encodingError(let code): info = .init(type: "encodingError", details: code)
|
|
487
|
+
case .encryptionError(let code): info = .init(type: "encryptionError", details: code)
|
|
488
|
+
case .simulatorIsNotSupported: info = .init(type: "simulatorIsNotSupported", details: nil)
|
|
489
|
+
case .notStarted: info = .init(type: "notStarted", details: nil)
|
|
490
|
+
case .alreadyInstantiated: info = .init(type: "alreadyInstantiated", details: nil)
|
|
491
|
+
case .startInProgress: info = .init(type: "startInProgress", details: nil)
|
|
492
|
+
case .alreadyStarted: info = .init(type: "alreadyStarted", details: nil)
|
|
493
|
+
case .serviceNotStarted: info = .init(type: "serviceNotStarted", details: nil)
|
|
494
|
+
case .missingBundleID: info = .init(type: "missingBundleID", details: nil)
|
|
495
|
+
case .invalidApiKey: info = .init(type: "invalidAPIKey", details: nil)
|
|
496
|
+
case .internetConnectionRequired: info = .init(type: "internetConnectionRequired", details: nil)
|
|
497
|
+
case .sessionError: info = .init(type: "sessionError", details: nil)
|
|
498
|
+
case .expiredLicense: info = .init(type: "expiredLicense", details: nil)
|
|
499
|
+
case .inconsistentDeviceTime: info = .init(type: "inconsistentDeviceTime", details: nil)
|
|
500
|
+
case .BLEUsageNotGranted: info = .init(type: "BLEUsageNotGranted", details: nil)
|
|
501
|
+
case .BLEUsageRestricted: info = .init(type: "BLEUsageRestricted", details: nil)
|
|
502
|
+
case .BLEPoweredOff: info = .init(type: "BLEPoweredOff", details: nil)
|
|
503
|
+
case .BLEUnsupported: info = .init(type: "BLEUnsupported", details: nil)
|
|
504
|
+
case .BLEUnknownError: info = .init(type: "BLEUnknownError", details: nil)
|
|
505
|
+
case .inconsistentConnection: info = .init(type: "inconsistentConnection", details: nil)
|
|
506
|
+
case .connectionIsAlreadySecure: info = .init(type: "connectionIsAlreadySecure", details: nil)
|
|
507
|
+
case .cannotCreateSecureConnection: info = .init(type: "cannotCreateSecureConnection", details: nil)
|
|
508
|
+
case .dataLengthExceeded: info = .init(type: "dataLengthExceeded", details: nil)
|
|
509
|
+
case .dataValueIsEmpty: info = .init(type: "dataValueIsEmpty", details: nil)
|
|
510
|
+
case .peerIsNotConnected: info = .init(type: "peerIsNotConnected", details: nil)
|
|
511
|
+
case .internalError: info = .init(type: "internalError", details: nil)
|
|
512
|
+
case .inconsistentUserId: info = .init(type: "inconsistentUserId", details: nil)
|
|
513
|
+
case .stopInProgress: info = .init(type: "stopInProgress", details: nil)
|
|
514
|
+
case .destroySessionInProgress: info = .init(type: "destroySessionInProgress", details: nil)
|
|
515
|
+
@unknown default: return [:]
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return [
|
|
519
|
+
"code": info.type,
|
|
520
|
+
"message": bridgefyError.localizedDescription,
|
|
521
|
+
"details": info.details as Any
|
|
522
|
+
].compactMapValues { $0 }
|
|
523
|
+
}
|
|
524
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* BridgefyReactNative.ts
|
|
5
|
+
* TurboModule Spec for Bridgefy SDK
|
|
6
|
+
*
|
|
7
|
+
* This spec defines all methods from the Bridgefy SDK for both Android and iOS
|
|
8
|
+
* Based on: https://github.com/bridgefy/bridgefy-react-native
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
12
|
+
|
|
13
|
+
// ==================== ENUMS ====================
|
|
14
|
+
|
|
15
|
+
export let BridgefyPropagationProfile = /*#__PURE__*/function (BridgefyPropagationProfile) {
|
|
16
|
+
BridgefyPropagationProfile["STANDARD"] = "standard";
|
|
17
|
+
BridgefyPropagationProfile["HIGH_DENSITY_NETWORK"] = "highDensityNetwork";
|
|
18
|
+
BridgefyPropagationProfile["SPARSE_NETWORK"] = "sparseNetwork";
|
|
19
|
+
BridgefyPropagationProfile["LONG_REACH"] = "longReach";
|
|
20
|
+
BridgefyPropagationProfile["SHORT_REACH"] = "shortReach";
|
|
21
|
+
BridgefyPropagationProfile["REALTIME"] = "realTime";
|
|
22
|
+
return BridgefyPropagationProfile;
|
|
23
|
+
}({});
|
|
24
|
+
export let BridgefyTransmissionModeType = /*#__PURE__*/function (BridgefyTransmissionModeType) {
|
|
25
|
+
BridgefyTransmissionModeType["BROADCAST"] = "broadcast";
|
|
26
|
+
BridgefyTransmissionModeType["P2P"] = "p2p";
|
|
27
|
+
BridgefyTransmissionModeType["MESH"] = "mesh";
|
|
28
|
+
return BridgefyTransmissionModeType;
|
|
29
|
+
}({});
|
|
30
|
+
export let BridgefyEvents = /*#__PURE__*/function (BridgefyEvents) {
|
|
31
|
+
// Lifecycle Events
|
|
32
|
+
BridgefyEvents["BRIDGEFY_DID_START"] = "bridgefyDidStart";
|
|
33
|
+
BridgefyEvents["BRIDGEFY_DID_STOP"] = "bridgefyDidStop";
|
|
34
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_TO_START"] = "bridgefyDidFailToStart";
|
|
35
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_TO_STOP"] = "bridgefyDidFailToStop";
|
|
36
|
+
BridgefyEvents["BRIDGEFY_DID_DESTROY_SESSION"] = "bridgefyDidDestroySession";
|
|
37
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_TO_DESTROY_SESSION"] = "bridgefyDidFailToDestroySession";
|
|
38
|
+
// Connection Events
|
|
39
|
+
BridgefyEvents["BRIDGEFY_DID_CONNECT"] = "bridgefyDidConnect";
|
|
40
|
+
BridgefyEvents["BRIDGEFY_DID_UPDATE_CONNECTED_PEERS"] = "bridgefyDidUpdateConnectedPeers";
|
|
41
|
+
BridgefyEvents["BRIDGEFY_DID_DISCONNECT"] = "bridgefyDidDisconnect";
|
|
42
|
+
BridgefyEvents["BRIDGEFY_DID_ESTABLISH_SECURE_CONNECTION"] = "bridgefyDidEstablishSecureConnection";
|
|
43
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_TO_ESTABLISH_SECURE_CONNECTION"] = "bridgefyDidFailToEstablishSecureConnection";
|
|
44
|
+
// Message Events
|
|
45
|
+
BridgefyEvents["BRIDGEFY_DID_SEND_MESSAGE"] = "bridgefyDidSendMessage";
|
|
46
|
+
BridgefyEvents["BRIDGEFY_DID_SEND_DATA_PROGRESS"] = "bridgefyDidSendDataProgress";
|
|
47
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_SENDING_MESSAGE"] = "bridgefyDidFailSendingMessage";
|
|
48
|
+
BridgefyEvents["BRIDGEFY_DID_RECEIVE_DATA"] = "bridgefyDidReceiveData";
|
|
49
|
+
BridgefyEvents["BRIDGEFY_MESSAGE_RECEIVED"] = "bridgefyMessageReceived";
|
|
50
|
+
// License Events
|
|
51
|
+
BridgefyEvents["BRIDGEFY_DID_UPDATE_LICENSE"] = "bridgefyDidUpdateLicense";
|
|
52
|
+
BridgefyEvents["BRIDGEFY_DID_FAIL_TO_UPDATE_LICENSE"] = "bridgefyDidFailToUpdateLicense";
|
|
53
|
+
return BridgefyEvents;
|
|
54
|
+
}({});
|
|
55
|
+
export let BridgefyErrorCode = /*#__PURE__*/function (BridgefyErrorCode) {
|
|
56
|
+
// Initialization Errors
|
|
57
|
+
BridgefyErrorCode["INVALID_API_KEY"] = "INVALID_API_KEY";
|
|
58
|
+
BridgefyErrorCode["SESSION_ERROR"] = "SESSION_ERROR";
|
|
59
|
+
BridgefyErrorCode["INITIALIZATION_ERROR"] = "INITIALIZATION_ERROR";
|
|
60
|
+
BridgefyErrorCode["LICENSE_ERROR"] = "LICENSE_ERROR";
|
|
61
|
+
// Connection Errors
|
|
62
|
+
BridgefyErrorCode["CONNECTION_ERROR"] = "CONNECTION_ERROR";
|
|
63
|
+
BridgefyErrorCode["BLUETOOTH_DISABLED"] = "BLUETOOTH_DISABLED";
|
|
64
|
+
BridgefyErrorCode["LOCATION_PERMISSION_DENIED"] = "LOCATION_PERMISSION_DENIED";
|
|
65
|
+
BridgefyErrorCode["BLUETOOTH_PERMISSION_DENIED"] = "BLUETOOTH_PERMISSION_DENIED";
|
|
66
|
+
// Message Errors
|
|
67
|
+
BridgefyErrorCode["MESSAGE_SEND_FAILED"] = "MESSAGE_SEND_FAILED";
|
|
68
|
+
BridgefyErrorCode["INVALID_MESSAGE"] = "INVALID_MESSAGE";
|
|
69
|
+
BridgefyErrorCode["ENCRYPTION_ERROR"] = "ENCRYPTION_ERROR";
|
|
70
|
+
// Service Errors
|
|
71
|
+
BridgefyErrorCode["SERVICE_NOT_STARTED"] = "SERVICE_NOT_STARTED";
|
|
72
|
+
BridgefyErrorCode["SERVICE_ALREADY_STARTED"] = "SERVICE_ALREADY_STARTED";
|
|
73
|
+
BridgefyErrorCode["DESTROY_SESSION_ERROR"] = "DESTROY_SESSION_ERROR";
|
|
74
|
+
// License Errors
|
|
75
|
+
BridgefyErrorCode["LICENSE_EXPIRED"] = "LICENSE_EXPIRED";
|
|
76
|
+
BridgefyErrorCode["LICENSE_UPDATE_FAILED"] = "LICENSE_UPDATE_FAILED";
|
|
77
|
+
// Network Errors
|
|
78
|
+
BridgefyErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
79
|
+
BridgefyErrorCode["TIMEOUT_ERROR"] = "TIMEOUT_ERROR";
|
|
80
|
+
// Unknown
|
|
81
|
+
BridgefyErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
82
|
+
return BridgefyErrorCode;
|
|
83
|
+
}({});
|
|
84
|
+
export let BridgefyOperationMode = /*#__PURE__*/function (BridgefyOperationMode) {
|
|
85
|
+
/**
|
|
86
|
+
* FOREGROUND: SDK runs only when app is in foreground
|
|
87
|
+
* - Lower battery usage
|
|
88
|
+
* - No background service
|
|
89
|
+
* - Simpler lifecycle
|
|
90
|
+
* - Good for testing/development
|
|
91
|
+
*/
|
|
92
|
+
BridgefyOperationMode["FOREGROUND"] = "foreground";
|
|
93
|
+
/**
|
|
94
|
+
* BACKGROUND: SDK runs in background service
|
|
95
|
+
* - Continuous mesh networking
|
|
96
|
+
* - Higher battery usage
|
|
97
|
+
* - Foreground service with notification
|
|
98
|
+
* - Survives app backgrounding
|
|
99
|
+
*/
|
|
100
|
+
BridgefyOperationMode["BACKGROUND"] = "background";
|
|
101
|
+
/**
|
|
102
|
+
* HYBRID: Foreground in app, background in service
|
|
103
|
+
* - Starts in foreground when app is active
|
|
104
|
+
* - Switches to background service when app backgrounded
|
|
105
|
+
* - Automatic mode switching
|
|
106
|
+
* - Best of both worlds
|
|
107
|
+
*/
|
|
108
|
+
BridgefyOperationMode["HYBRID"] = "hybrid";
|
|
109
|
+
return BridgefyOperationMode;
|
|
110
|
+
}({});
|
|
111
|
+
|
|
112
|
+
// ==================== TYPES ====================
|
|
113
|
+
|
|
114
|
+
// ==================== TURBOMODULE SPEC ====================
|
|
115
|
+
|
|
116
|
+
export default TurboModuleRegistry.getEnforcing('BridgefyReactNative');
|
|
117
|
+
//# sourceMappingURL=NativeBridgefy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","BridgefyPropagationProfile","BridgefyTransmissionModeType","BridgefyEvents","BridgefyErrorCode","BridgefyOperationMode","getEnforcing"],"sourceRoot":"../../src","sources":["NativeBridgefy.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AAEA,WAAYC,0BAA0B,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA;AAStC,WAAYC,4BAA4B,0BAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAAA,OAA5BA,4BAA4B;AAAA;AAMxC,WAAYC,cAAc,0BAAdA,cAAc;EACxB;EADUA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EASxB;EATUA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAgBxB;EAhBUA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAuBxB;EAvBUA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AA4B1B,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAC3B;EADUA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAO3B;EAPUA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAa3B;EAbUA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAkB3B;EAlBUA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAuB3B;EAvBUA,iBAAiB;EAAjBA,iBAAiB;EA2B3B;EA3BUA,iBAAiB;EAAjBA,iBAAiB;EA+B3B;EA/BUA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAmC7B,WAAYC,qBAAqB,0BAArBA,qBAAqB;EAC/B;AACF;AACA;AACA;AACA;AACA;AACA;EAPYA,qBAAqB;EAU/B;AACF;AACA;AACA;AACA;AACA;AACA;EAhBYA,qBAAqB;EAmB/B;AACF;AACA;AACA;AACA;AACA;AACA;EAzBYA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;;AA6BjC;;AAiFA;;AAuHA,eAAeL,mBAAmB,CAACM,YAAY,CAAO,qBAAqB,CAAC","ignoreList":[]}
|