munim-wifi 0.1.2 → 0.1.4
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/ios/HybridMunimWifi.swift +59 -39
- package/lib/commonjs/index.js +47 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +43 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +32 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -50,9 +50,15 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
50
50
|
|
|
51
51
|
NEHotspotNetwork.fetchCurrent { network in
|
|
52
52
|
if let network = network {
|
|
53
|
+
// Get IP address
|
|
54
|
+
let ipAddress = self.getIPAddressSync()
|
|
53
55
|
result = CurrentNetworkInfo(
|
|
54
56
|
ssid: network.ssid,
|
|
55
|
-
bssid: network.bssid ?? ""
|
|
57
|
+
bssid: network.bssid ?? "",
|
|
58
|
+
ipAddress: ipAddress,
|
|
59
|
+
subnetMask: nil,
|
|
60
|
+
gateway: nil,
|
|
61
|
+
dnsServers: nil
|
|
56
62
|
)
|
|
57
63
|
}
|
|
58
64
|
semaphore.signal()
|
|
@@ -62,6 +68,38 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
62
68
|
return result
|
|
63
69
|
}
|
|
64
70
|
|
|
71
|
+
// Helper to get IP address synchronously
|
|
72
|
+
private func getIPAddressSync() -> String? {
|
|
73
|
+
var address: String?
|
|
74
|
+
var ifaddr: UnsafeMutablePointer<ifaddrs>?
|
|
75
|
+
|
|
76
|
+
guard getifaddrs(&ifaddr) == 0 else { return nil }
|
|
77
|
+
defer { freeifaddrs(ifaddr) }
|
|
78
|
+
|
|
79
|
+
guard var ptr = ifaddr else { return nil }
|
|
80
|
+
|
|
81
|
+
while ptr != nil {
|
|
82
|
+
defer { ptr = ptr.pointee.ifa_next }
|
|
83
|
+
|
|
84
|
+
let interface = ptr.pointee
|
|
85
|
+
let addrFamily = interface.ifa_addr.pointee.sa_family
|
|
86
|
+
|
|
87
|
+
if addrFamily == UInt8(AF_INET) {
|
|
88
|
+
let name = String(cString: interface.ifa_name)
|
|
89
|
+
if name == "en0" || name == "en1" {
|
|
90
|
+
var hostname = [CChar](repeating: 0, count: Int(NI_MAXHOST))
|
|
91
|
+
getnameinfo(interface.ifa_addr, socklen_t(interface.ifa_addr.pointee.sa_len),
|
|
92
|
+
&hostname, socklen_t(hostname.count),
|
|
93
|
+
nil, socklen_t(0), NI_NUMERICHOST)
|
|
94
|
+
address = String(cString: hostname)
|
|
95
|
+
break
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return address
|
|
101
|
+
}
|
|
102
|
+
|
|
65
103
|
func scanNetworks(options: ScanOptions?) throws -> Promise<[WifiNetwork]> {
|
|
66
104
|
let promise = Promise<[WifiNetwork]>()
|
|
67
105
|
// iOS limitation: Cannot scan for networks directly
|
|
@@ -78,7 +116,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
78
116
|
channel: nil, // Not available on iOS
|
|
79
117
|
capabilities: nil,
|
|
80
118
|
isSecure: nil,
|
|
81
|
-
timestamp:
|
|
119
|
+
timestamp: Date().timeIntervalSince1970 * 1000
|
|
82
120
|
)
|
|
83
121
|
scanResults = [network]
|
|
84
122
|
promise.resolve(withResult: [network])
|
|
@@ -102,7 +140,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
102
140
|
channel: nil,
|
|
103
141
|
capabilities: nil,
|
|
104
142
|
isSecure: nil,
|
|
105
|
-
timestamp:
|
|
143
|
+
timestamp: Date().timeIntervalSince1970 * 1000
|
|
106
144
|
)
|
|
107
145
|
scanResults = [network]
|
|
108
146
|
}
|
|
@@ -138,14 +176,15 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
138
176
|
channel: nil,
|
|
139
177
|
capabilities: nil,
|
|
140
178
|
isSecure: nil,
|
|
141
|
-
timestamp:
|
|
179
|
+
timestamp: Date().timeIntervalSince1970 * 1000
|
|
142
180
|
)]
|
|
143
181
|
}
|
|
144
182
|
}
|
|
145
183
|
|
|
146
184
|
let fingerprint = WifiFingerprint(
|
|
147
185
|
networks: networks,
|
|
148
|
-
timestamp:
|
|
186
|
+
timestamp: Date().timeIntervalSince1970 * 1000,
|
|
187
|
+
location: nil
|
|
149
188
|
)
|
|
150
189
|
promise.resolve(withResult: fingerprint)
|
|
151
190
|
return promise
|
|
@@ -154,7 +193,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
154
193
|
func getRSSI(ssid: String) throws -> Promise<Variant_NullType_Double> {
|
|
155
194
|
let promise = Promise<Variant_NullType_Double>()
|
|
156
195
|
// iOS limitation: RSSI not available for scanned networks
|
|
157
|
-
promise.resolve(withResult: .first(NullType
|
|
196
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
158
197
|
return promise
|
|
159
198
|
}
|
|
160
199
|
|
|
@@ -163,7 +202,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
163
202
|
if let current = try? getCurrentNetworkSync(), current.ssid == ssid {
|
|
164
203
|
promise.resolve(withResult: .second(current.bssid))
|
|
165
204
|
} else {
|
|
166
|
-
promise.resolve(withResult: .first(NullType
|
|
205
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
167
206
|
}
|
|
168
207
|
return promise
|
|
169
208
|
}
|
|
@@ -171,7 +210,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
171
210
|
func getChannelInfo(ssid: String) throws -> Promise<Variant_NullType_ChannelInfo> {
|
|
172
211
|
let promise = Promise<Variant_NullType_ChannelInfo>()
|
|
173
212
|
// iOS limitation: Channel and frequency not available
|
|
174
|
-
promise.resolve(withResult: .first(NullType
|
|
213
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
175
214
|
return promise
|
|
176
215
|
}
|
|
177
216
|
|
|
@@ -186,11 +225,11 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
186
225
|
channel: nil, // Not available on iOS
|
|
187
226
|
capabilities: nil,
|
|
188
227
|
isSecure: nil,
|
|
189
|
-
timestamp:
|
|
228
|
+
timestamp: Date().timeIntervalSince1970 * 1000
|
|
190
229
|
)
|
|
191
230
|
promise.resolve(withResult: .second(network))
|
|
192
231
|
} else {
|
|
193
|
-
promise.resolve(withResult: .first(NullType
|
|
232
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
194
233
|
}
|
|
195
234
|
return promise
|
|
196
235
|
}
|
|
@@ -202,9 +241,15 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
202
241
|
|
|
203
242
|
NEHotspotNetwork.fetchCurrent { network in
|
|
204
243
|
if let network = network {
|
|
244
|
+
// Get IP address
|
|
245
|
+
let ipAddress = self.getIPAddressSync()
|
|
205
246
|
result = CurrentNetworkInfo(
|
|
206
247
|
ssid: network.ssid,
|
|
207
|
-
bssid: network.bssid ?? ""
|
|
248
|
+
bssid: network.bssid ?? "",
|
|
249
|
+
ipAddress: ipAddress,
|
|
250
|
+
subnetMask: nil,
|
|
251
|
+
gateway: nil,
|
|
252
|
+
dnsServers: nil
|
|
208
253
|
)
|
|
209
254
|
}
|
|
210
255
|
semaphore.signal()
|
|
@@ -215,7 +260,7 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
215
260
|
if let result = result {
|
|
216
261
|
promise.resolve(withResult: .second(result))
|
|
217
262
|
} else {
|
|
218
|
-
promise.resolve(withResult: .first(NullType
|
|
263
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
219
264
|
}
|
|
220
265
|
return promise
|
|
221
266
|
}
|
|
@@ -269,37 +314,12 @@ class HybridMunimWifi: HybridMunimWifiSpec {
|
|
|
269
314
|
|
|
270
315
|
func getIPAddress() throws -> Promise<Variant_NullType_String> {
|
|
271
316
|
let promise = Promise<Variant_NullType_String>()
|
|
272
|
-
|
|
273
|
-
var ifaddr: UnsafeMutablePointer<ifaddrs>?
|
|
274
|
-
|
|
275
|
-
guard getifaddrs(&ifaddr) == 0 else { return nil }
|
|
276
|
-
defer { freeifaddrs(ifaddr) }
|
|
277
|
-
|
|
278
|
-
guard var ptr = ifaddr else { return nil }
|
|
279
|
-
|
|
280
|
-
while ptr != nil {
|
|
281
|
-
defer { ptr = ptr.pointee.ifa_next }
|
|
282
|
-
|
|
283
|
-
let interface = ptr.pointee
|
|
284
|
-
let addrFamily = interface.ifa_addr.pointee.sa_family
|
|
285
|
-
|
|
286
|
-
if addrFamily == UInt8(AF_INET) {
|
|
287
|
-
let name = String(cString: interface.ifa_name)
|
|
288
|
-
if name == "en0" || name == "en1" {
|
|
289
|
-
var hostname = [CChar](repeating: 0, count: Int(NI_MAXHOST))
|
|
290
|
-
getnameinfo(interface.ifa_addr, socklen_t(interface.ifa_addr.pointee.sa_len),
|
|
291
|
-
&hostname, socklen_t(hostname.count),
|
|
292
|
-
nil, socklen_t(0), NI_NUMERICHOST)
|
|
293
|
-
address = String(cString: hostname)
|
|
294
|
-
break
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
317
|
+
let address = getIPAddressSync()
|
|
298
318
|
|
|
299
319
|
if let address = address {
|
|
300
320
|
promise.resolve(withResult: .second(address))
|
|
301
321
|
} else {
|
|
302
|
-
promise.resolve(withResult: .first(NullType
|
|
322
|
+
promise.resolve(withResult: .first(NullType.null))
|
|
303
323
|
}
|
|
304
324
|
return promise
|
|
305
325
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -6,9 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.addEventListener = addEventListener;
|
|
7
7
|
exports.addListener = addListener;
|
|
8
8
|
exports.addNetworkFoundListener = addNetworkFoundListener;
|
|
9
|
+
exports.connectToNetwork = connectToNetwork;
|
|
9
10
|
exports.default = void 0;
|
|
11
|
+
exports.disconnect = disconnect;
|
|
10
12
|
exports.getBSSID = getBSSID;
|
|
11
13
|
exports.getChannelInfo = getChannelInfo;
|
|
14
|
+
exports.getCurrentNetwork = getCurrentNetwork;
|
|
15
|
+
exports.getIPAddress = getIPAddress;
|
|
12
16
|
exports.getNetworkInfo = getNetworkInfo;
|
|
13
17
|
exports.getRSSI = getRSSI;
|
|
14
18
|
exports.getSSIDs = getSSIDs;
|
|
@@ -135,6 +139,7 @@ function getChannelInfo(ssid) {
|
|
|
135
139
|
|
|
136
140
|
/**
|
|
137
141
|
* Get all available information for a specific network by SSID.
|
|
142
|
+
* Note: On iOS, RSSI, channel, and frequency will be undefined.
|
|
138
143
|
*
|
|
139
144
|
* @param ssid - The SSID of the network.
|
|
140
145
|
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
@@ -143,6 +148,44 @@ function getNetworkInfo(ssid) {
|
|
|
143
148
|
return MunimWifi.getNetworkInfo(ssid);
|
|
144
149
|
}
|
|
145
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Get information about the currently connected Wi-Fi network.
|
|
153
|
+
*
|
|
154
|
+
* @returns Promise resolving to current network info, or null if not connected.
|
|
155
|
+
*/
|
|
156
|
+
function getCurrentNetwork() {
|
|
157
|
+
return MunimWifi.getCurrentNetwork();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Connect to a Wi-Fi network.
|
|
162
|
+
* Note: Requires appropriate permissions and capabilities on both platforms.
|
|
163
|
+
*
|
|
164
|
+
* @param options - Connection options including SSID and password.
|
|
165
|
+
* @returns Promise resolving when connection is attempted.
|
|
166
|
+
*/
|
|
167
|
+
function connectToNetwork(options) {
|
|
168
|
+
return MunimWifi.connectToNetwork(options);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Disconnect from the current Wi-Fi network.
|
|
173
|
+
*
|
|
174
|
+
* @returns Promise resolving when disconnection is complete.
|
|
175
|
+
*/
|
|
176
|
+
function disconnect() {
|
|
177
|
+
return MunimWifi.disconnect();
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Get IP address information for the current Wi-Fi connection.
|
|
182
|
+
*
|
|
183
|
+
* @returns Promise resolving to IP address string, or null if not connected.
|
|
184
|
+
*/
|
|
185
|
+
function getIPAddress() {
|
|
186
|
+
return MunimWifi.getIPAddress();
|
|
187
|
+
}
|
|
188
|
+
|
|
146
189
|
// ========== Event Management ==========
|
|
147
190
|
|
|
148
191
|
/**
|
|
@@ -208,6 +251,10 @@ var _default = exports.default = {
|
|
|
208
251
|
getBSSID,
|
|
209
252
|
getChannelInfo,
|
|
210
253
|
getNetworkInfo,
|
|
254
|
+
getCurrentNetwork,
|
|
255
|
+
connectToNetwork,
|
|
256
|
+
disconnect,
|
|
257
|
+
getIPAddress,
|
|
211
258
|
addNetworkFoundListener,
|
|
212
259
|
addEventListener,
|
|
213
260
|
addListener,
|
|
@@ -1 +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":"
|
|
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","getCurrentNetwork","connectToNetwork","disconnect","getIPAddress","addNetworkFoundListener","callback","warn","subscription","addListener","remove","addEventListener","eventName","removeListeners","count","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -116,6 +116,7 @@ export function getChannelInfo(ssid) {
|
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* Get all available information for a specific network by SSID.
|
|
119
|
+
* Note: On iOS, RSSI, channel, and frequency will be undefined.
|
|
119
120
|
*
|
|
120
121
|
* @param ssid - The SSID of the network.
|
|
121
122
|
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
@@ -124,6 +125,44 @@ export function getNetworkInfo(ssid) {
|
|
|
124
125
|
return MunimWifi.getNetworkInfo(ssid);
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
/**
|
|
129
|
+
* Get information about the currently connected Wi-Fi network.
|
|
130
|
+
*
|
|
131
|
+
* @returns Promise resolving to current network info, or null if not connected.
|
|
132
|
+
*/
|
|
133
|
+
export function getCurrentNetwork() {
|
|
134
|
+
return MunimWifi.getCurrentNetwork();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Connect to a Wi-Fi network.
|
|
139
|
+
* Note: Requires appropriate permissions and capabilities on both platforms.
|
|
140
|
+
*
|
|
141
|
+
* @param options - Connection options including SSID and password.
|
|
142
|
+
* @returns Promise resolving when connection is attempted.
|
|
143
|
+
*/
|
|
144
|
+
export function connectToNetwork(options) {
|
|
145
|
+
return MunimWifi.connectToNetwork(options);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Disconnect from the current Wi-Fi network.
|
|
150
|
+
*
|
|
151
|
+
* @returns Promise resolving when disconnection is complete.
|
|
152
|
+
*/
|
|
153
|
+
export function disconnect() {
|
|
154
|
+
return MunimWifi.disconnect();
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Get IP address information for the current Wi-Fi connection.
|
|
159
|
+
*
|
|
160
|
+
* @returns Promise resolving to IP address string, or null if not connected.
|
|
161
|
+
*/
|
|
162
|
+
export function getIPAddress() {
|
|
163
|
+
return MunimWifi.getIPAddress();
|
|
164
|
+
}
|
|
165
|
+
|
|
127
166
|
// ========== Event Management ==========
|
|
128
167
|
|
|
129
168
|
/**
|
|
@@ -190,6 +229,10 @@ export default {
|
|
|
190
229
|
getBSSID,
|
|
191
230
|
getChannelInfo,
|
|
192
231
|
getNetworkInfo,
|
|
232
|
+
getCurrentNetwork,
|
|
233
|
+
connectToNetwork,
|
|
234
|
+
disconnect,
|
|
235
|
+
getIPAddress,
|
|
193
236
|
addNetworkFoundListener,
|
|
194
237
|
addEventListener,
|
|
195
238
|
addListener,
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +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":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AACzD,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;
|
|
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","getCurrentNetwork","connectToNetwork","disconnect","getIPAddress","addNetworkFoundListener","callback","warn","subscription","addListener","remove","addEventListener","eventName","removeListeners","count"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WifiNetwork, WifiFingerprint, ScanOptions, ChannelInfo, Location } from './specs/munim-wifi.nitro';
|
|
1
|
+
import type { WifiNetwork, WifiFingerprint, ScanOptions, ChannelInfo, Location, CurrentNetworkInfo, ConnectionOptions } from './specs/munim-wifi.nitro';
|
|
2
2
|
/**
|
|
3
3
|
* Check if Wi-Fi is enabled on the device.
|
|
4
4
|
*
|
|
@@ -66,11 +66,38 @@ export declare function getBSSID(ssid: string): Promise<string | null>;
|
|
|
66
66
|
export declare function getChannelInfo(ssid: string): Promise<ChannelInfo | null>;
|
|
67
67
|
/**
|
|
68
68
|
* Get all available information for a specific network by SSID.
|
|
69
|
+
* Note: On iOS, RSSI, channel, and frequency will be undefined.
|
|
69
70
|
*
|
|
70
71
|
* @param ssid - The SSID of the network.
|
|
71
72
|
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
72
73
|
*/
|
|
73
74
|
export declare function getNetworkInfo(ssid: string): Promise<WifiNetwork | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Get information about the currently connected Wi-Fi network.
|
|
77
|
+
*
|
|
78
|
+
* @returns Promise resolving to current network info, or null if not connected.
|
|
79
|
+
*/
|
|
80
|
+
export declare function getCurrentNetwork(): Promise<CurrentNetworkInfo | null>;
|
|
81
|
+
/**
|
|
82
|
+
* Connect to a Wi-Fi network.
|
|
83
|
+
* Note: Requires appropriate permissions and capabilities on both platforms.
|
|
84
|
+
*
|
|
85
|
+
* @param options - Connection options including SSID and password.
|
|
86
|
+
* @returns Promise resolving when connection is attempted.
|
|
87
|
+
*/
|
|
88
|
+
export declare function connectToNetwork(options: ConnectionOptions): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Disconnect from the current Wi-Fi network.
|
|
91
|
+
*
|
|
92
|
+
* @returns Promise resolving when disconnection is complete.
|
|
93
|
+
*/
|
|
94
|
+
export declare function disconnect(): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Get IP address information for the current Wi-Fi connection.
|
|
97
|
+
*
|
|
98
|
+
* @returns Promise resolving to IP address string, or null if not connected.
|
|
99
|
+
*/
|
|
100
|
+
export declare function getIPAddress(): Promise<string | null>;
|
|
74
101
|
/**
|
|
75
102
|
* Add a network found event listener (for continuous scanning).
|
|
76
103
|
*
|
|
@@ -111,6 +138,10 @@ declare const _default: {
|
|
|
111
138
|
getBSSID: typeof getBSSID;
|
|
112
139
|
getChannelInfo: typeof getChannelInfo;
|
|
113
140
|
getNetworkInfo: typeof getNetworkInfo;
|
|
141
|
+
getCurrentNetwork: typeof getCurrentNetwork;
|
|
142
|
+
connectToNetwork: typeof connectToNetwork;
|
|
143
|
+
disconnect: typeof disconnect;
|
|
144
|
+
getIPAddress: typeof getIPAddress;
|
|
114
145
|
addNetworkFoundListener: typeof addNetworkFoundListener;
|
|
115
146
|
addEventListener: typeof addEventListener;
|
|
116
147
|
addListener: typeof addListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAuBjC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAErD;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACvC,MAAM,IAAI,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,MAAM,IAAI,CAUZ;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnD;AAID,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;AAGhF,wBAoBC"}
|