munim-wifi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/MunimWifi.podspec +31 -0
- package/README.md +591 -0
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +148 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/munimwifi/HybridMunimWifi.kt +283 -0
- package/android/src/main/java/com/munimwifi/MunimWifiPackage.kt +20 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridMunimWifi.swift +222 -0
- package/lib/commonjs/index.js +216 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/munim-wifi.nitro.js +6 -0
- package/lib/commonjs/specs/munim-wifi.nitro.js.map +1 -0
- package/lib/module/index.js +198 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/specs/munim-wifi.nitro.js +4 -0
- package/lib/module/specs/munim-wifi.nitro.js.map +1 -0
- package/lib/typescript/src/index.d.ts +120 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/specs/munim-wifi.nitro.d.ts +118 -0
- package/lib/typescript/src/specs/munim-wifi.nitro.d.ts.map +1 -0
- package/nitro.json +24 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/MunimWifi+autolinking.cmake +85 -0
- package/nitrogen/generated/android/MunimWifi+autolinking.gradle +27 -0
- package/nitrogen/generated/android/MunimWifiOnLoad.cpp +44 -0
- package/nitrogen/generated/android/MunimWifiOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JChannelInfo.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridMunimWifiSpec.cpp +262 -0
- package/nitrogen/generated/android/c++/JHybridMunimWifiSpec.hpp +78 -0
- package/nitrogen/generated/android/c++/JLocation.hpp +61 -0
- package/nitrogen/generated/android/c++/JScanOptions.hpp +61 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_ChannelInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_ChannelInfo.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_WifiNetwork.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_WifiNetwork.hpp +73 -0
- package/nitrogen/generated/android/c++/JWifiFingerprint.hpp +89 -0
- package/nitrogen/generated/android/c++/JWifiNetwork.hpp +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/ChannelInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/HybridMunimWifiSpec.kt +107 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Location.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/MunimWifiOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/ScanOptions.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_ChannelInfo.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_Double.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_String.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_WifiNetwork.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/WifiFingerprint.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/WifiNetwork.kt +59 -0
- package/nitrogen/generated/ios/MunimWifi+autolinking.rb +60 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Bridge.cpp +105 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Bridge.hpp +653 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Umbrella.hpp +64 -0
- package/nitrogen/generated/ios/MunimWifiAutolinking.mm +33 -0
- package/nitrogen/generated/ios/MunimWifiAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridMunimWifiSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMunimWifiSpecSwift.hpp +189 -0
- package/nitrogen/generated/ios/swift/ChannelInfo.swift +35 -0
- package/nitrogen/generated/ios/swift/Func_void_WifiFingerprint.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__ChannelInfo_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__WifiNetwork_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__double_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_WifiNetwork_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridMunimWifiSpec.swift +68 -0
- package/nitrogen/generated/ios/swift/HybridMunimWifiSpec_cxx.swift +382 -0
- package/nitrogen/generated/ios/swift/Location.swift +47 -0
- package/nitrogen/generated/ios/swift/ScanOptions.swift +47 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_ChannelInfo.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_WifiNetwork.swift +18 -0
- package/nitrogen/generated/ios/swift/WifiFingerprint.swift +52 -0
- package/nitrogen/generated/ios/swift/WifiNetwork.swift +103 -0
- package/nitrogen/generated/shared/c++/ChannelInfo.hpp +87 -0
- package/nitrogen/generated/shared/c++/HybridMunimWifiSpec.cpp +33 -0
- package/nitrogen/generated/shared/c++/HybridMunimWifiSpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/Location.hpp +87 -0
- package/nitrogen/generated/shared/c++/ScanOptions.hpp +87 -0
- package/nitrogen/generated/shared/c++/WifiFingerprint.hpp +97 -0
- package/nitrogen/generated/shared/c++/WifiNetwork.hpp +112 -0
- package/package.json +122 -0
- package/src/index.ts +221 -0
- package/src/specs/munim-wifi.nitro.ts +140 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
//
|
|
2
|
+
// HybridMunimWifi.swift
|
|
3
|
+
// Pods
|
|
4
|
+
//
|
|
5
|
+
// Created by sheehanmunim on 1/26/2026.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import CoreWLAN
|
|
10
|
+
import CoreLocation
|
|
11
|
+
import NetworkExtension
|
|
12
|
+
|
|
13
|
+
class HybridMunimWifi: HybridMunimWifiSpec {
|
|
14
|
+
private let wifiClient = CWWiFiClient.shared()
|
|
15
|
+
private var locationManager: CLLocationManager?
|
|
16
|
+
private var scanResults: [CWNetwork] = []
|
|
17
|
+
private var isScanning = false
|
|
18
|
+
|
|
19
|
+
private func getFrequencyChannel(frequency: Int) -> Int {
|
|
20
|
+
// Convert frequency (MHz) to channel number
|
|
21
|
+
if frequency >= 2412 && frequency <= 2484 {
|
|
22
|
+
// 2.4 GHz band
|
|
23
|
+
return ((frequency - 2412) / 5) + 1
|
|
24
|
+
} else if frequency >= 5170 && frequency <= 5825 {
|
|
25
|
+
// 5 GHz band
|
|
26
|
+
return ((frequency - 5170) / 5) + 36
|
|
27
|
+
}
|
|
28
|
+
return 0
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private func convertNetwork(_ network: CWNetwork) -> WifiNetwork {
|
|
32
|
+
guard let channel = network.wlanChannel else {
|
|
33
|
+
return WifiNetwork(
|
|
34
|
+
ssid: network.ssid ?? "",
|
|
35
|
+
bssid: network.bssid ?? "",
|
|
36
|
+
rssi: Int(network.rssiValue),
|
|
37
|
+
frequency: 0,
|
|
38
|
+
channel: 0,
|
|
39
|
+
capabilities: network.ies?.description ?? "",
|
|
40
|
+
isSecure: false,
|
|
41
|
+
timestamp: Int64(Date().timeIntervalSince1970 * 1000)
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
let channelNumber = Int(channel.channelNumber)
|
|
46
|
+
let frequency: Int
|
|
47
|
+
if channel.channelBand == .band2GHz {
|
|
48
|
+
frequency = 2412 + (channelNumber - 1) * 5
|
|
49
|
+
} else {
|
|
50
|
+
frequency = 5170 + (channelNumber - 36) * 5
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
let isSecure = network.supportsSecurity(.WPA2Personal) ||
|
|
54
|
+
network.supportsSecurity(.WPA3Personal) ||
|
|
55
|
+
network.supportsSecurity(.WPAEnterprise) ||
|
|
56
|
+
network.supportsSecurity(.WPA3Enterprise)
|
|
57
|
+
|
|
58
|
+
return WifiNetwork(
|
|
59
|
+
ssid: network.ssid ?? "",
|
|
60
|
+
bssid: network.bssid ?? "",
|
|
61
|
+
rssi: Int(network.rssiValue),
|
|
62
|
+
frequency: frequency,
|
|
63
|
+
channel: channelNumber,
|
|
64
|
+
capabilities: network.ies?.description ?? "",
|
|
65
|
+
isSecure: isSecure,
|
|
66
|
+
timestamp: Int64(Date().timeIntervalSince1970 * 1000)
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
func isWifiEnabled() throws -> Bool {
|
|
71
|
+
return wifiClient.interface()?.powerOn() ?? false
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
func requestWifiPermission() throws -> Bool {
|
|
75
|
+
// On iOS, Wi-Fi scanning requires location permission
|
|
76
|
+
let locationManager = CLLocationManager()
|
|
77
|
+
self.locationManager = locationManager
|
|
78
|
+
|
|
79
|
+
let status = locationManager.authorizationStatus
|
|
80
|
+
return status == .authorizedWhenInUse || status == .authorizedAlways
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
func scanNetworks(maxResults: Double?, timeout: Double?) throws -> [WifiNetwork] {
|
|
84
|
+
guard let interface = wifiClient.interface() else {
|
|
85
|
+
throw NSError(domain: "MunimWifi", code: 1, userInfo: [NSLocalizedDescriptionKey: "Wi-Fi interface not available"])
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
guard interface.powerOn() else {
|
|
89
|
+
throw NSError(domain: "MunimWifi", code: 2, userInfo: [NSLocalizedDescriptionKey: "Wi-Fi is not enabled"])
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Check location permission
|
|
93
|
+
let locationManager = CLLocationManager()
|
|
94
|
+
let status = locationManager.authorizationStatus
|
|
95
|
+
guard status == .authorizedWhenInUse || status == .authorizedAlways else {
|
|
96
|
+
throw NSError(domain: "MunimWifi", code: 3, userInfo: [NSLocalizedDescriptionKey: "Location permission not granted"])
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
do {
|
|
100
|
+
let networks = try interface.scanForNetworks(withName: nil)
|
|
101
|
+
scanResults = networks
|
|
102
|
+
|
|
103
|
+
let wifiNetworks = networks.map { convertNetwork($0) }
|
|
104
|
+
let max = maxResults.map { Int($0) } ?? wifiNetworks.count
|
|
105
|
+
return Array(wifiNetworks.prefix(max))
|
|
106
|
+
} catch {
|
|
107
|
+
throw error
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
func startScan(maxResults: Double?, timeout: Double?) throws {
|
|
112
|
+
isScanning = true
|
|
113
|
+
|
|
114
|
+
guard let interface = wifiClient.interface() else {
|
|
115
|
+
isScanning = false
|
|
116
|
+
return
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
guard interface.powerOn() else {
|
|
120
|
+
isScanning = false
|
|
121
|
+
return
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Check location permission
|
|
125
|
+
let locationManager = CLLocationManager()
|
|
126
|
+
let status = locationManager.authorizationStatus
|
|
127
|
+
guard status == .authorizedWhenInUse || status == .authorizedAlways else {
|
|
128
|
+
isScanning = false
|
|
129
|
+
return
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Start scanning in background
|
|
133
|
+
DispatchQueue.global(qos: .background).async { [weak self] in
|
|
134
|
+
guard let self = self else { return }
|
|
135
|
+
|
|
136
|
+
do {
|
|
137
|
+
let networks = try interface.scanForNetworks(withName: nil)
|
|
138
|
+
self.scanResults = networks
|
|
139
|
+
self.isScanning = false
|
|
140
|
+
} catch {
|
|
141
|
+
self.isScanning = false
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
func stopScan() throws {
|
|
147
|
+
isScanning = false
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
func getSSIDs() throws -> [String] {
|
|
151
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
152
|
+
return networks.compactMap { $0.ssid }.unique()
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
func getWifiFingerprint() throws -> WifiFingerprint {
|
|
156
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
157
|
+
let wifiNetworks = networks.map { convertNetwork($0) }
|
|
158
|
+
|
|
159
|
+
return WifiFingerprint(
|
|
160
|
+
networks: wifiNetworks,
|
|
161
|
+
timestamp: Int64(Date().timeIntervalSince1970 * 1000)
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
func getRSSI(ssid: String) throws -> Double? {
|
|
166
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
167
|
+
let network = networks.first { $0.ssid == ssid }
|
|
168
|
+
return network.map { Double($0.rssiValue) }
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
func getBSSID(ssid: String) throws -> String? {
|
|
172
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
173
|
+
let network = networks.first { $0.ssid == ssid }
|
|
174
|
+
return network?.bssid
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
func getChannelInfo(ssid: String) throws -> ChannelInfo? {
|
|
178
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
179
|
+
guard let network = networks.first(where: { $0.ssid == ssid }),
|
|
180
|
+
let channel = network.wlanChannel else {
|
|
181
|
+
return nil
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
let channelNumber = Int(channel.channelNumber)
|
|
185
|
+
let frequency: Int
|
|
186
|
+
if channel.channelBand == .band2GHz {
|
|
187
|
+
frequency = 2412 + (channelNumber - 1) * 5
|
|
188
|
+
} else {
|
|
189
|
+
frequency = 5170 + (channelNumber - 36) * 5
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return ChannelInfo(
|
|
193
|
+
channel: channelNumber,
|
|
194
|
+
frequency: frequency
|
|
195
|
+
)
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
func getNetworkInfo(ssid: String) throws -> WifiNetwork? {
|
|
199
|
+
let networks = scanResults.isEmpty ? (try? wifiClient.interface()?.scanForNetworks(withName: nil)) ?? [] : scanResults
|
|
200
|
+
guard let network = networks.first(where: { $0.ssid == ssid }) else {
|
|
201
|
+
return nil
|
|
202
|
+
}
|
|
203
|
+
return convertNetwork(network)
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
func addListener(eventName: String) throws {
|
|
207
|
+
// Event listener implementation can be added here if needed
|
|
208
|
+
print("[MunimWifi] Adding listener for event: \(eventName)")
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
func removeListeners(count: Double) throws {
|
|
212
|
+
// Event listener removal implementation can be added here if needed
|
|
213
|
+
print("[MunimWifi] Removing \(count) listeners")
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
extension Array where Element: Hashable {
|
|
218
|
+
func unique() -> [Element] {
|
|
219
|
+
var seen = Set<Element>()
|
|
220
|
+
return filter { seen.insert($0).inserted }
|
|
221
|
+
}
|
|
222
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addEventListener = addEventListener;
|
|
7
|
+
exports.addListener = addListener;
|
|
8
|
+
exports.addNetworkFoundListener = addNetworkFoundListener;
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
exports.getBSSID = getBSSID;
|
|
11
|
+
exports.getChannelInfo = getChannelInfo;
|
|
12
|
+
exports.getNetworkInfo = getNetworkInfo;
|
|
13
|
+
exports.getRSSI = getRSSI;
|
|
14
|
+
exports.getSSIDs = getSSIDs;
|
|
15
|
+
exports.getWifiFingerprint = getWifiFingerprint;
|
|
16
|
+
exports.isWifiEnabled = isWifiEnabled;
|
|
17
|
+
exports.removeListeners = removeListeners;
|
|
18
|
+
exports.requestWifiPermission = requestWifiPermission;
|
|
19
|
+
exports.scanNetworks = scanNetworks;
|
|
20
|
+
exports.startScan = startScan;
|
|
21
|
+
exports.stopScan = stopScan;
|
|
22
|
+
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
23
|
+
var _reactNative = require("react-native");
|
|
24
|
+
const MunimWifi = _reactNativeNitroModules.NitroModules.createHybridObject('MunimWifi');
|
|
25
|
+
|
|
26
|
+
// Event Emitter for Wi-Fi events
|
|
27
|
+
const {
|
|
28
|
+
MunimWifiEventEmitter
|
|
29
|
+
} = _reactNative.NativeModules;
|
|
30
|
+
let eventEmitter = null;
|
|
31
|
+
if (MunimWifiEventEmitter) {
|
|
32
|
+
try {
|
|
33
|
+
eventEmitter = new _reactNative.NativeEventEmitter(MunimWifiEventEmitter);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error('[munim-wifi] Failed to initialize event emitter:', error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ========== Wi-Fi Functions ==========
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Check if Wi-Fi is enabled on the device.
|
|
43
|
+
*
|
|
44
|
+
* @returns Promise resolving to true if Wi-Fi is enabled, false otherwise.
|
|
45
|
+
*/
|
|
46
|
+
function isWifiEnabled() {
|
|
47
|
+
return MunimWifi.isWifiEnabled();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Request Wi-Fi permissions (Android) or check authorization status (iOS).
|
|
52
|
+
* On Android, this requests location permission which is required for Wi-Fi scanning.
|
|
53
|
+
* On iOS, this checks location authorization status.
|
|
54
|
+
*
|
|
55
|
+
* @returns Promise resolving to true if permissions are granted, false otherwise.
|
|
56
|
+
*/
|
|
57
|
+
function requestWifiPermission() {
|
|
58
|
+
return MunimWifi.requestWifiPermission();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Scan for nearby Wi-Fi networks.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Optional scan configuration including max results and timeout.
|
|
65
|
+
* @returns Promise resolving to array of discovered Wi-Fi networks.
|
|
66
|
+
*/
|
|
67
|
+
function scanNetworks(options) {
|
|
68
|
+
return MunimWifi.scanNetworks(options);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Start continuous Wi-Fi scanning. Results will be emitted via events.
|
|
73
|
+
*
|
|
74
|
+
* @param options - Optional scan configuration.
|
|
75
|
+
*/
|
|
76
|
+
function startScan(options) {
|
|
77
|
+
return MunimWifi.startScan(options);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Stop continuous Wi-Fi scanning.
|
|
82
|
+
*/
|
|
83
|
+
function stopScan() {
|
|
84
|
+
return MunimWifi.stopScan();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get list of SSIDs (network names) from the last scan.
|
|
89
|
+
*
|
|
90
|
+
* @returns Promise resolving to array of SSID strings.
|
|
91
|
+
*/
|
|
92
|
+
function getSSIDs() {
|
|
93
|
+
return MunimWifi.getSSIDs();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Get Wi-Fi fingerprint containing all network information.
|
|
98
|
+
* This includes SSIDs, BSSIDs, RSSI, channels, and frequencies.
|
|
99
|
+
*
|
|
100
|
+
* @returns Promise resolving to Wi-Fi fingerprint data.
|
|
101
|
+
*/
|
|
102
|
+
function getWifiFingerprint() {
|
|
103
|
+
return MunimWifi.getWifiFingerprint();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Get RSSI (signal strength) for a specific network by SSID.
|
|
108
|
+
*
|
|
109
|
+
* @param ssid - The SSID of the network.
|
|
110
|
+
* @returns Promise resolving to RSSI value in dBm, or null if network not found.
|
|
111
|
+
*/
|
|
112
|
+
function getRSSI(ssid) {
|
|
113
|
+
return MunimWifi.getRSSI(ssid);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Get BSSID (MAC address) for a specific network by SSID.
|
|
118
|
+
*
|
|
119
|
+
* @param ssid - The SSID of the network.
|
|
120
|
+
* @returns Promise resolving to BSSID string, or null if network not found.
|
|
121
|
+
*/
|
|
122
|
+
function getBSSID(ssid) {
|
|
123
|
+
return MunimWifi.getBSSID(ssid);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Get channel and frequency information for a specific network by SSID.
|
|
128
|
+
*
|
|
129
|
+
* @param ssid - The SSID of the network.
|
|
130
|
+
* @returns Promise resolving to object with channel and frequency, or null if network not found.
|
|
131
|
+
*/
|
|
132
|
+
function getChannelInfo(ssid) {
|
|
133
|
+
return MunimWifi.getChannelInfo(ssid);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Get all available information for a specific network by SSID.
|
|
138
|
+
*
|
|
139
|
+
* @param ssid - The SSID of the network.
|
|
140
|
+
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
141
|
+
*/
|
|
142
|
+
function getNetworkInfo(ssid) {
|
|
143
|
+
return MunimWifi.getNetworkInfo(ssid);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// ========== Event Management ==========
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Add a network found event listener (for continuous scanning).
|
|
150
|
+
*
|
|
151
|
+
* @param callback - Function to call when a network is found
|
|
152
|
+
* @returns A function to remove the listener
|
|
153
|
+
*/
|
|
154
|
+
function addNetworkFoundListener(callback) {
|
|
155
|
+
if (!eventEmitter) {
|
|
156
|
+
console.warn('[munim-wifi] Cannot add listener - event emitter not available');
|
|
157
|
+
return () => {};
|
|
158
|
+
}
|
|
159
|
+
const subscription = eventEmitter.addListener('networkFound', callback);
|
|
160
|
+
return () => subscription.remove();
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Add an event listener.
|
|
165
|
+
*
|
|
166
|
+
* @param eventName - The name of the event to listen for.
|
|
167
|
+
* @param callback - The callback to invoke when the event occurs.
|
|
168
|
+
* @returns A function to remove the listener
|
|
169
|
+
*/
|
|
170
|
+
function addEventListener(eventName, callback) {
|
|
171
|
+
if (!eventEmitter) {
|
|
172
|
+
console.warn('[munim-wifi] Cannot add listener - event emitter not available');
|
|
173
|
+
return () => {};
|
|
174
|
+
}
|
|
175
|
+
const subscription = eventEmitter.addListener(eventName, callback);
|
|
176
|
+
return () => subscription.remove();
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Add an event listener (legacy method).
|
|
181
|
+
*
|
|
182
|
+
* @param eventName - The name of the event to listen for.
|
|
183
|
+
*/
|
|
184
|
+
function addListener(eventName) {
|
|
185
|
+
return MunimWifi.addListener(eventName);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Remove event listeners.
|
|
190
|
+
*
|
|
191
|
+
* @param count - Number of listeners to remove.
|
|
192
|
+
*/
|
|
193
|
+
function removeListeners(count) {
|
|
194
|
+
return MunimWifi.removeListeners(count);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// ========== Type Exports ==========
|
|
198
|
+
// Default export for convenience
|
|
199
|
+
var _default = exports.default = {
|
|
200
|
+
isWifiEnabled,
|
|
201
|
+
requestWifiPermission,
|
|
202
|
+
scanNetworks,
|
|
203
|
+
startScan,
|
|
204
|
+
stopScan,
|
|
205
|
+
getSSIDs,
|
|
206
|
+
getWifiFingerprint,
|
|
207
|
+
getRSSI,
|
|
208
|
+
getBSSID,
|
|
209
|
+
getChannelInfo,
|
|
210
|
+
getNetworkInfo,
|
|
211
|
+
addNetworkFoundListener,
|
|
212
|
+
addEventListener,
|
|
213
|
+
addListener,
|
|
214
|
+
removeListeners
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_reactNative","MunimWifi","NitroModules","createHybridObject","MunimWifiEventEmitter","NativeModules","eventEmitter","NativeEventEmitter","error","console","isWifiEnabled","requestWifiPermission","scanNetworks","options","startScan","stopScan","getSSIDs","getWifiFingerprint","getRSSI","ssid","getBSSID","getChannelInfo","getNetworkInfo","addNetworkFoundListener","callback","warn","subscription","addListener","remove","addEventListener","eventName","removeListeners","count","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/munim-wifi.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
5
|
+
const MunimWifi = NitroModules.createHybridObject('MunimWifi');
|
|
6
|
+
|
|
7
|
+
// Event Emitter for Wi-Fi events
|
|
8
|
+
const {
|
|
9
|
+
MunimWifiEventEmitter
|
|
10
|
+
} = NativeModules;
|
|
11
|
+
let eventEmitter = null;
|
|
12
|
+
if (MunimWifiEventEmitter) {
|
|
13
|
+
try {
|
|
14
|
+
eventEmitter = new NativeEventEmitter(MunimWifiEventEmitter);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.error('[munim-wifi] Failed to initialize event emitter:', error);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// ========== Wi-Fi Functions ==========
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Check if Wi-Fi is enabled on the device.
|
|
24
|
+
*
|
|
25
|
+
* @returns Promise resolving to true if Wi-Fi is enabled, false otherwise.
|
|
26
|
+
*/
|
|
27
|
+
export function isWifiEnabled() {
|
|
28
|
+
return MunimWifi.isWifiEnabled();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Request Wi-Fi permissions (Android) or check authorization status (iOS).
|
|
33
|
+
* On Android, this requests location permission which is required for Wi-Fi scanning.
|
|
34
|
+
* On iOS, this checks location authorization status.
|
|
35
|
+
*
|
|
36
|
+
* @returns Promise resolving to true if permissions are granted, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
export function requestWifiPermission() {
|
|
39
|
+
return MunimWifi.requestWifiPermission();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Scan for nearby Wi-Fi networks.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Optional scan configuration including max results and timeout.
|
|
46
|
+
* @returns Promise resolving to array of discovered Wi-Fi networks.
|
|
47
|
+
*/
|
|
48
|
+
export function scanNetworks(options) {
|
|
49
|
+
return MunimWifi.scanNetworks(options);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Start continuous Wi-Fi scanning. Results will be emitted via events.
|
|
54
|
+
*
|
|
55
|
+
* @param options - Optional scan configuration.
|
|
56
|
+
*/
|
|
57
|
+
export function startScan(options) {
|
|
58
|
+
return MunimWifi.startScan(options);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Stop continuous Wi-Fi scanning.
|
|
63
|
+
*/
|
|
64
|
+
export function stopScan() {
|
|
65
|
+
return MunimWifi.stopScan();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Get list of SSIDs (network names) from the last scan.
|
|
70
|
+
*
|
|
71
|
+
* @returns Promise resolving to array of SSID strings.
|
|
72
|
+
*/
|
|
73
|
+
export function getSSIDs() {
|
|
74
|
+
return MunimWifi.getSSIDs();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Get Wi-Fi fingerprint containing all network information.
|
|
79
|
+
* This includes SSIDs, BSSIDs, RSSI, channels, and frequencies.
|
|
80
|
+
*
|
|
81
|
+
* @returns Promise resolving to Wi-Fi fingerprint data.
|
|
82
|
+
*/
|
|
83
|
+
export function getWifiFingerprint() {
|
|
84
|
+
return MunimWifi.getWifiFingerprint();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get RSSI (signal strength) for a specific network by SSID.
|
|
89
|
+
*
|
|
90
|
+
* @param ssid - The SSID of the network.
|
|
91
|
+
* @returns Promise resolving to RSSI value in dBm, or null if network not found.
|
|
92
|
+
*/
|
|
93
|
+
export function getRSSI(ssid) {
|
|
94
|
+
return MunimWifi.getRSSI(ssid);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Get BSSID (MAC address) for a specific network by SSID.
|
|
99
|
+
*
|
|
100
|
+
* @param ssid - The SSID of the network.
|
|
101
|
+
* @returns Promise resolving to BSSID string, or null if network not found.
|
|
102
|
+
*/
|
|
103
|
+
export function getBSSID(ssid) {
|
|
104
|
+
return MunimWifi.getBSSID(ssid);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Get channel and frequency information for a specific network by SSID.
|
|
109
|
+
*
|
|
110
|
+
* @param ssid - The SSID of the network.
|
|
111
|
+
* @returns Promise resolving to object with channel and frequency, or null if network not found.
|
|
112
|
+
*/
|
|
113
|
+
export function getChannelInfo(ssid) {
|
|
114
|
+
return MunimWifi.getChannelInfo(ssid);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Get all available information for a specific network by SSID.
|
|
119
|
+
*
|
|
120
|
+
* @param ssid - The SSID of the network.
|
|
121
|
+
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
122
|
+
*/
|
|
123
|
+
export function getNetworkInfo(ssid) {
|
|
124
|
+
return MunimWifi.getNetworkInfo(ssid);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// ========== Event Management ==========
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Add a network found event listener (for continuous scanning).
|
|
131
|
+
*
|
|
132
|
+
* @param callback - Function to call when a network is found
|
|
133
|
+
* @returns A function to remove the listener
|
|
134
|
+
*/
|
|
135
|
+
export function addNetworkFoundListener(callback) {
|
|
136
|
+
if (!eventEmitter) {
|
|
137
|
+
console.warn('[munim-wifi] Cannot add listener - event emitter not available');
|
|
138
|
+
return () => {};
|
|
139
|
+
}
|
|
140
|
+
const subscription = eventEmitter.addListener('networkFound', callback);
|
|
141
|
+
return () => subscription.remove();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Add an event listener.
|
|
146
|
+
*
|
|
147
|
+
* @param eventName - The name of the event to listen for.
|
|
148
|
+
* @param callback - The callback to invoke when the event occurs.
|
|
149
|
+
* @returns A function to remove the listener
|
|
150
|
+
*/
|
|
151
|
+
export function addEventListener(eventName, callback) {
|
|
152
|
+
if (!eventEmitter) {
|
|
153
|
+
console.warn('[munim-wifi] Cannot add listener - event emitter not available');
|
|
154
|
+
return () => {};
|
|
155
|
+
}
|
|
156
|
+
const subscription = eventEmitter.addListener(eventName, callback);
|
|
157
|
+
return () => subscription.remove();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Add an event listener (legacy method).
|
|
162
|
+
*
|
|
163
|
+
* @param eventName - The name of the event to listen for.
|
|
164
|
+
*/
|
|
165
|
+
export function addListener(eventName) {
|
|
166
|
+
return MunimWifi.addListener(eventName);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Remove event listeners.
|
|
171
|
+
*
|
|
172
|
+
* @param count - Number of listeners to remove.
|
|
173
|
+
*/
|
|
174
|
+
export function removeListeners(count) {
|
|
175
|
+
return MunimWifi.removeListeners(count);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// ========== Type Exports ==========
|
|
179
|
+
|
|
180
|
+
// Default export for convenience
|
|
181
|
+
export default {
|
|
182
|
+
isWifiEnabled,
|
|
183
|
+
requestWifiPermission,
|
|
184
|
+
scanNetworks,
|
|
185
|
+
startScan,
|
|
186
|
+
stopScan,
|
|
187
|
+
getSSIDs,
|
|
188
|
+
getWifiFingerprint,
|
|
189
|
+
getRSSI,
|
|
190
|
+
getBSSID,
|
|
191
|
+
getChannelInfo,
|
|
192
|
+
getNetworkInfo,
|
|
193
|
+
addNetworkFoundListener,
|
|
194
|
+
addEventListener,
|
|
195
|
+
addListener,
|
|
196
|
+
removeListeners
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","NativeEventEmitter","NativeModules","MunimWifi","createHybridObject","MunimWifiEventEmitter","eventEmitter","error","console","isWifiEnabled","requestWifiPermission","scanNetworks","options","startScan","stopScan","getSSIDs","getWifiFingerprint","getRSSI","ssid","getBSSID","getChannelInfo","getNetworkInfo","addNetworkFoundListener","callback","warn","subscription","addListener","remove","addEventListener","eventName","removeListeners","count"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/munim-wifi.nitro.ts"],"mappings":"","ignoreList":[]}
|