SkillAgentSearch skills...

Netinfo

ReScript bindings for @react-native-community/netinfo

Install / Use

/learn @rescript-react-native/Netinfo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

@rescript-react-native/netinfo

Build Status Version ReScript Forum

ReScript bindings for @react-native-community/netinfo.

Exposed as ReactNativeNetInfo module.

@rescript-react-native/netinfo X.y.* means it's compatible with @react-native-community/netinfo X.y.*

Installation

When @react-native-community/netinfo is properly installed & configured by following their installation instructions, you can install the bindings:

npm install @rescript-react-native/netinfo
# or
yarn add @rescript-react-native/netinfo

@rescript-react-native/netinfo should be added to bs-dependencies in your bsconfig.json:

{
  //...
  "bs-dependencies": [
    "@rescript/react",
    "rescript-react-native",
    // ...
+    "@rescript-react-native/netinfo"
  ],
  //...
}

Usage

Types

netInfoConfiguration

To be used only when the platform does not natively supply information on internet reachability.

| Property | Type | Description | | ---------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | reachabilityUrl | string | URL used to test if the internet is reachable. | | reachabilityTest | response => bool | A function to handle the response object returned when the reachability URL is called. It should return true if the response indicates that the internet is reachable. | | reachabilityShortTimeout | float | Number of seconds between internet reachability checks when the internet was not previously detected. | | reachabilityLongTimeout | float | Number of seconds between internet reachability checks when the internet was previously detected. | | reachabilityRequestTimeout | float | Number of milliseconds allowed before reachability check fails. |

netInfoStateType

Kind of the current network connection. Valid values are:

| Value | Platforms | Connection State | | ----------- | --------------------- | ---------------- | | none | Android, iOS, Windows | Not active | | unknown | Android, iOS, Windows | Undetermined | | cellular | Android, iOS, Windows | Active | | wifi | Android, iOS, Windows | Active | | bluetooth | Android | Active | | ethernet | Android, Windows | Active | | wimax | Android | Active | | vpn | Android | Active | | other | Android, iOS, Windows | Active |

netInfoCellularGeneration

Cellular generation of the current network connection. Valid values are:

| Value | Notes | | ------- | ----------------------------------------------------------------------------------- | | net2g | Inlined as "2g". Returned for CDMA, EDGE, GPRS and IDEN connections | | net3g | Inlined as "3g". Returned for EHRPD, EVDO, HSPA, HSUPA, HSDPA and UTMS connections. | | net4g | Inlined as "4g". Returned for HSPAP and LTE connections |

netInfoState

type netInfoState = {
  .
  "_type": netInfoStateType,
  "isConnected": bool,
  "isInternetReachable": bool,
  "isWifiEnabled": bool,
  "details": Js.Null.t(details),
};
  • isConnected will be true if there is an active connection (but not imply that the internet is necessarily reachable).
  • isInternetReachable will be true if the internet can be reached using the active connection
  • isWifiEnabled will be true if WiFi is enabled on the device, and false otherwise. Android only.

details key will have value Js.Null.empty (null) when _type is null or unknown.

details

details depends on _type given within netInfoState. If _type is not null or unknown, details is an object as below:

type details = {
  .
  "isConnectionExpensive": bool,
  "ssid": Js.Nullable.t(string),
  "strength": Js.Nullable.t(int),
  "ipAddress": Js.Nullable.t(string),
  "subnet": Js.Nullable.t(string),
  "cellularGeneration": Js.Nullable.t(netInfoCellularGeneration),
  "carrier": Js.Nullable.t(string),
};

| Property | Platform | Type | Description | | ----------------------- | --------------------- | ------ | ----------------------------------------------------------------------------------- | | isConnectionExpensive | Android, iOS, Windows | bool | If network connection is considered expensive in either energy or monetary terms. |

Note that some keys may only exist in the JS object when _type is wifi or cellular. Accordingly, in Reason, keys may have values Js.Nullable.undefined.

  • ssid, strength, ipAddress and subnet will have value Js.Nullable.undefined unless _type is wifi.
  • cellularGeneration and carrier will have value Js.Nullable.undefined unless _type is cellular.
_type is wifi

| Property | Platform | Type | Description | | ----------- | ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ssid | Android, iOS (not tvOS) | Js.Nullable.t(string) | SSID of the network. May have value Js.Nullable.undefined, Js.Nullable.null, or be an empty string if undetermined. On iOS, make sure your app meets at least one of the following requirements. On Android, make sure the ACCESS_FINE_LOCATION permission is listed in AndroidManifest.xml and accepted by the user. | | strength | Android | Js.Nullable.t(string) | If signal strength can be determined, will be an integer number from 0 to 5. May have value Js.Nullable.undefined otherwise. | | ipAddress | Android, iOS | Js.Nullable.t(string) | External IP address. Can be in IPv4 or IPv6 format. May have value Js.Nullable.undefined if undetermined. | | subnet | Android, iOS | Js.Nullable.t(string) | The subnet mask in IPv4 format. May have value Js.Nullable.undefined if undetermined. |

type is cellular

| Property | Platform | Type | Description | | -------------------- | --------------------- | --------------------------------------------------------- | ----------------------------------------------------

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated1y ago
Forks2

Languages

ReScript

Security Score

75/100

Audited on Jun 3, 2024

No findings