Code Monkey home page Code Monkey logo

pikud-haoref-api's Introduction

pikud-haoref-api

npm version

A Node.js wrapper library for Pikud Haoref's unofficial alerts API. It allows you to easily query for the currently active alerts in Israel.

Note: This API is only accessible from within Israel. Either run the script on an Israeli machine, or use a proxy.

Usage

First, install the package using npm:

npm install pikud-haoref-api --save

Then, use the following code to poll for the currently-active alert:

var pikudHaoref = require('pikud-haoref-api');

// Set polling interval in millis
var interval = 5000;

// Define polling function
var poll = function () {
    // Optional Israeli proxy if running outside Israeli borders
    var options = {
        proxy: 'http://user:pass@hostname:port/'
    };

    // Get currently active alert
    // Example response:
    // { 
    //    type: 'missiles', 
    //    cities: ['תל אביב - מזרח', 'חיפה - כרמל ועיר תחתית', 'עין גדי'],
    //    instructions: 'היכנסו למבנה, נעלו את הדלתות וסגרו את החלונות'
    // }
    pikudHaoref.getActiveAlert(function (err, alert) {
        // Schedule polling in X millis
        setTimeout(poll, interval);
        
        // Log errors
        if (err) {
            return console.log('Retrieving active alert failed: ', err);
        }

        // Alert header
        console.log('Currently active alert:');

        // Log the alert (if any)
        console.log(alert);

        // Line break for readability
        console.log();
    }, options);
}

// Start polling for active alert
poll();

Sample Alert Objects

When there is a missle alert:

{ 
    type: 'missiles', 
    cities: ['תל אביב - מזרח', 'חיפה - כרמל ועיר תחתית', 'עין גדי'],
    instructions: 'היכנסו למבנה, נעלו את הדלתות וסגרו את החלונות'
}

When there is no active alert:

{ 
    type: 'none', 
    cities: [] 
}

Alert Types

Added in version 3.0.0:

  • none
  • missiles
  • radiologicalEvent
  • earthQuake
  • tsunami
  • hostileAircraftIntrusion
  • hazardousMaterials
  • terroristInfiltration
  • missilesDrill
  • earthQuakeDrill
  • radiologicalEventDrill
  • tsunamiDrill
  • hostileAircraftIntrusionDrill
  • hazardousMaterialsDrill
  • terroristInfiltrationDrill
  • unknown

Requirements

  • Node.js v4.2.x+ for ES6's for-of loop support

Special Thanks

  • Thanks to Noam Hashmonai for the Spanish translation
  • Thanks to the developers of the Tzofar app for the map polygon data

License

Apache 2.0

pikud-haoref-api's People

Contributors

arnon001 avatar davidchevallier avatar dependabot[bot] avatar eladnava avatar misterenderman avatar ofekashery avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.