npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

netcheck

v1.1.0

Published

Will monitor Internet and local network connectivity and inform about their state.

Downloads

7

Readme

netcheck

Will monitor Internet and local network connectivity and inform about their state.

Build Status

Install

Install the module using NPM:

npm install netcheck --save

Table of Contents

  1. Overview
  2. API

Overview

Netcheck will provide methods and events to notify you of changes in network connectivity.

Quick Example

var netcheck = require('netcheck');

// Launch monitors, you only need to invoke this once.
netcheck.init();

netcheck.on('internet', function(isConnected) {
    // handle internet connectivity state change
});

netcheck.on('local', function(isConnected) {
    // handle local conntivity state change
});

netcheck.hasInternet()
    .then(function(isConnected) {
        if (isConnected) {
            // We have internet connectivity
        }
    });

netcheck.hasLocal()
    .then(function(isConnected) {
        if (isConnected) {
            // We have connectivity with the local network
        }
    });

API

Methods

  • init() Starts the connectivity monitor, you only need to invoke this once.
  • hasInternet() Returns a bluebird Promise and informs if Internet is accessible.
  • hasLocal() Returns a bluebird Promise and informs if node server is connected to a local network.
  • reset() Resets the state of netcheck.
  • setup(options) Define options for the monitor operation:
    • customHostname Type: String Default: null By defining this option you are instructing netcheck to check this hostname for online determination, values can be www.google.com, www.google.com:80.
    • monitorInternet Type: Boolean Default: true Enable or disable Internet monitor.
    • monitorLocal Type: Boolean Default: true Enable or disable local network monitor.
    • intervalInternet Type: Number Default: 60000 Define the monitor interval in milliseconds for Internet check, default is 1min.
    • intervalLocal Type: Number Default: 60000 Define the monitor interval in milliseconds for local network check, default is 1min.

You may not trigger the connectivity monitor by not calling the netcheck.init() method, when any of the hasInternet() or hasLocal() methods are called they will perform the tests on the spot.

Events

netcheck extends Node's native EventEmitter and provides the following methods:

  • on(event, cb)
  • once(event, cb)
  • removeListener(event, cb)
  • removeAllListeners()

Read on for more on their definition and behavior.

Events emitted:

  • internet Gets emitted whenever a state change has occurred on the Internet connectivity.
    • isConnected, Type: Boolean A single argument indicating connectivity.
  • local Gets emitted whenever a state change has occurred on the Local Network connectivity.
    • isConnected, Type: Boolean A single argument indicating connectivity.

Release History

  • v1.1.0, 19 Apr 2016
    • Introduced the customHostname option to ping a specific hostname.
    • Added the reset() method.
  • v1.0.0, 15 Feb 2016
    • Fixed problem with is-online dependency 5.1.0 being broken.
    • Updated all packages to latest and locked versions.
    • Lib is now considered stable and reliable.
  • v0.0.1, 04 Sep 2015
    • Big Bang

Contributors

License

Copyright ©2016 Insight Replay, Inc. Licensed under the MIT license.