expo-network 7.0.2 → 7.0.3
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/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 7.0.3 — 2024-12-02
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- Fix event emitters not working on web. ([#33327](https://github.com/expo/expo/pull/33327) by [@aleqsio](https://github.com/aleqsio))
|
|
18
|
+
|
|
13
19
|
## 7.0.2 — 2024-11-22
|
|
14
20
|
|
|
15
21
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
apply plugin: 'com.android.library'
|
|
2
2
|
|
|
3
3
|
group = 'host.exp.exponent'
|
|
4
|
-
version = '7.0.
|
|
4
|
+
version = '7.0.3'
|
|
5
5
|
|
|
6
6
|
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
|
7
7
|
apply from: expoModulesCorePlugin
|
|
@@ -14,6 +14,6 @@ android {
|
|
|
14
14
|
namespace "expo.modules.network"
|
|
15
15
|
defaultConfig {
|
|
16
16
|
versionCode 11
|
|
17
|
-
versionName '7.0.
|
|
17
|
+
versionName '7.0.3'
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { NativeModule } from 'expo-modules-core';
|
|
2
|
+
import { NetworkEvents, NetworkState } from './Network.types';
|
|
3
|
+
declare class ExpoNetworkModule extends NativeModule<NetworkEvents> {
|
|
4
|
+
eventListener?: () => void;
|
|
5
|
+
updateNetworkState(): void;
|
|
3
6
|
getIpAddressAsync(): Promise<string>;
|
|
4
7
|
getNetworkStateAsync(): Promise<NetworkState>;
|
|
8
|
+
isAirplaneModeEnabledAsync(): Promise<boolean>;
|
|
5
9
|
startObserving(): void;
|
|
6
10
|
stopObserving(): void;
|
|
7
|
-
}
|
|
11
|
+
}
|
|
12
|
+
declare const _default: typeof ExpoNetworkModule;
|
|
8
13
|
export default _default;
|
|
9
14
|
//# sourceMappingURL=ExpoNetwork.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoNetwork.web.d.ts","sourceRoot":"","sources":["../src/ExpoNetwork.web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExpoNetwork.web.d.ts","sourceRoot":"","sources":["../src/ExpoNetwork.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AAahF,cAAM,iBAAkB,SAAQ,YAAY,CAAC,aAAa,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB;IAKZ,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC;IAG7C,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAGpD,cAAc;IAKd,aAAa;CAMd;;AAED,wBAAoD"}
|
package/build/ExpoNetwork.web.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NativeModule, registerWebModule } from 'expo-modules-core';
|
|
2
2
|
import { NetworkStateType } from './Network.types';
|
|
3
|
-
const emitter = new EventEmitter();
|
|
4
3
|
const onNetworkStateEventName = 'onNetworkStateChanged';
|
|
5
4
|
function getNetworkState() {
|
|
6
5
|
const isOnline = typeof navigator !== 'undefined' && navigator.onLine;
|
|
@@ -10,11 +9,12 @@ function getNetworkState() {
|
|
|
10
9
|
isInternetReachable: isOnline,
|
|
11
10
|
};
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
class ExpoNetworkModule extends NativeModule {
|
|
13
|
+
eventListener;
|
|
14
|
+
updateNetworkState() {
|
|
15
|
+
const state = getNetworkState();
|
|
16
|
+
this.emit(onNetworkStateEventName, state);
|
|
17
|
+
}
|
|
18
18
|
async getIpAddressAsync() {
|
|
19
19
|
try {
|
|
20
20
|
const resp = await fetch('https://api.ipify.org?format=json');
|
|
@@ -24,17 +24,24 @@ export default {
|
|
|
24
24
|
catch (e) {
|
|
25
25
|
throw e;
|
|
26
26
|
}
|
|
27
|
-
}
|
|
27
|
+
}
|
|
28
28
|
async getNetworkStateAsync() {
|
|
29
29
|
return getNetworkState();
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
|
+
async isAirplaneModeEnabledAsync() {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
31
34
|
startObserving() {
|
|
32
|
-
|
|
33
|
-
window.addEventListener('
|
|
34
|
-
|
|
35
|
+
this.eventListener = () => this.updateNetworkState();
|
|
36
|
+
window.addEventListener('online', this.eventListener);
|
|
37
|
+
window.addEventListener('offline', this.eventListener);
|
|
38
|
+
}
|
|
35
39
|
stopObserving() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
+
if (this.eventListener) {
|
|
41
|
+
window.removeEventListener('online', this.eventListener);
|
|
42
|
+
window.removeEventListener('offline', this.eventListener);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export default registerWebModule(ExpoNetworkModule);
|
|
40
47
|
//# sourceMappingURL=ExpoNetwork.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoNetwork.web.js","sourceRoot":"","sources":["../src/ExpoNetwork.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoNetwork.web.js","sourceRoot":"","sources":["../src/ExpoNetwork.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAExD,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI;QACjE,WAAW,EAAE,QAAQ;QACrB,mBAAmB,EAAE,QAAQ;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,iBAAkB,SAAQ,YAA2B;IACzD,aAAa,CAAc;IAC3B,kBAAkB;QAChB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,EAAE,CAAC;SAChB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IACD,KAAK,CAAC,oBAAoB;QACxB,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,0BAA0B;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,aAAa;QACX,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3D;IACH,CAAC;CACF;AAED,eAAe,iBAAiB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { NativeModule, registerWebModule } from 'expo-modules-core';\n\nimport { NetworkEvents, NetworkState, NetworkStateType } from './Network.types';\n\nconst onNetworkStateEventName = 'onNetworkStateChanged';\n\nfunction getNetworkState(): NetworkState {\n const isOnline = typeof navigator !== 'undefined' && navigator.onLine;\n return {\n type: isOnline ? NetworkStateType.UNKNOWN : NetworkStateType.NONE,\n isConnected: isOnline,\n isInternetReachable: isOnline,\n };\n}\n\nclass ExpoNetworkModule extends NativeModule<NetworkEvents> {\n eventListener?: () => void;\n updateNetworkState() {\n const state = getNetworkState();\n this.emit(onNetworkStateEventName, state);\n }\n\n async getIpAddressAsync(): Promise<string> {\n try {\n const resp = await fetch('https://api.ipify.org?format=json');\n const data = await resp.json();\n return data.ip;\n } catch (e) {\n throw e;\n }\n }\n async getNetworkStateAsync(): Promise<NetworkState> {\n return getNetworkState();\n }\n async isAirplaneModeEnabledAsync(): Promise<boolean> {\n return false;\n }\n startObserving() {\n this.eventListener = () => this.updateNetworkState();\n window.addEventListener('online', this.eventListener);\n window.addEventListener('offline', this.eventListener);\n }\n stopObserving() {\n if (this.eventListener) {\n window.removeEventListener('online', this.eventListener);\n window.removeEventListener('offline', this.eventListener);\n }\n }\n}\n\nexport default registerWebModule(ExpoNetworkModule);\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-network",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3",
|
|
4
4
|
"description": "Provides useful information about the device's network such as its IP address, MAC address, and airplane mode status",
|
|
5
5
|
"main": "build/Network.js",
|
|
6
6
|
"types": "build/Network.d.ts",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"expo": "*",
|
|
38
38
|
"react": "*"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "bc1fea6bcab47889e2922d543920397691b200f3"
|
|
41
41
|
}
|
package/src/ExpoNetwork.web.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NativeModule, registerWebModule } from 'expo-modules-core';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { NetworkEvents, NetworkState, NetworkStateType } from './Network.types';
|
|
4
4
|
|
|
5
|
-
const emitter = new EventEmitter<NetworkEvents>();
|
|
6
5
|
const onNetworkStateEventName = 'onNetworkStateChanged';
|
|
7
6
|
|
|
8
7
|
function getNetworkState(): NetworkState {
|
|
@@ -14,12 +13,13 @@ function getNetworkState(): NetworkState {
|
|
|
14
13
|
};
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
class ExpoNetworkModule extends NativeModule<NetworkEvents> {
|
|
17
|
+
eventListener?: () => void;
|
|
18
|
+
updateNetworkState() {
|
|
19
|
+
const state = getNetworkState();
|
|
20
|
+
this.emit(onNetworkStateEventName, state);
|
|
21
|
+
}
|
|
21
22
|
|
|
22
|
-
export default {
|
|
23
23
|
async getIpAddressAsync(): Promise<string> {
|
|
24
24
|
try {
|
|
25
25
|
const resp = await fetch('https://api.ipify.org?format=json');
|
|
@@ -28,16 +28,24 @@ export default {
|
|
|
28
28
|
} catch (e) {
|
|
29
29
|
throw e;
|
|
30
30
|
}
|
|
31
|
-
}
|
|
31
|
+
}
|
|
32
32
|
async getNetworkStateAsync(): Promise<NetworkState> {
|
|
33
33
|
return getNetworkState();
|
|
34
|
-
}
|
|
34
|
+
}
|
|
35
|
+
async isAirplaneModeEnabledAsync(): Promise<boolean> {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
35
38
|
startObserving() {
|
|
36
|
-
|
|
37
|
-
window.addEventListener('
|
|
38
|
-
|
|
39
|
+
this.eventListener = () => this.updateNetworkState();
|
|
40
|
+
window.addEventListener('online', this.eventListener);
|
|
41
|
+
window.addEventListener('offline', this.eventListener);
|
|
42
|
+
}
|
|
39
43
|
stopObserving() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
+
if (this.eventListener) {
|
|
45
|
+
window.removeEventListener('online', this.eventListener);
|
|
46
|
+
window.removeEventListener('offline', this.eventListener);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default registerWebModule(ExpoNetworkModule);
|