meerkat-api

    1.0.3 • Public • Published

    Node.js Wrapper for Meerkat API

    This is a Node.js implementation of a wrapper for communicating with the Meerkat API.

    Installation Instructions

    npm install --save meerkat-api

    Features

    • There are two ways to use it:
      1. Callbacks: All methods take an optional callback function. The callback is called with two arguments: an error (or null if the operation succeeded) and an object containing the API data.
      2. Promises: If you don't supply a callback function, a Promise will be returned. If the operation completes successfully, the promise is resolved with the returned API data. If the operation fails, the promise is rejected with an error.
    • Periodically queries Meerkat's Routing Map and modifies the API endpoints if they change.

    Usage

    var Meerkat = require('meerkat-api');
     
    // Create an instance.
    var meerkat = new Meerkat(API_TOKEN);
    // You can get an API token here: http://developers.meerkatapp.co/api/
     
    /**
     * General requests.
     */
     
    // Callback style:
    meerkat.getAllBroadcasts(function (err, broadcasts) {
        console.log(err || broadcasts);
    });
     
    // Promise style:
    meerkat.getAllBroadcasts().
        then(function (broadcasts) {
            console.log(broadcasts);
        }, function (err) {
            console.log(err);
        });
     
    // Callback style:
    meerkat.getScheduledBroadcasts(function (err, broadcasts) {
        console.log(err || broadcasts);
    });
     
    // Promise style:
    meerkat.getScheduledBroadcasts().
        then(function (broadcasts) {
            console.log(broadcasts);
        }, function (err) {
            console.log(err);
        });
     
     
    /**
     * Broadcast-specific requests.
     */
    var broadcastId = '6a4da7ba-20f5-4f0d-81de-e5cf37b3072b';
     
    meerkat.getBroadcastSummary(broadcastId, function (err, summary) {
        console.log(err || summary);
    });
     
    meerkat.getBroadcastSummary(broadcastId).
        then(function (summary) {
            console.log(summary);
        }, function (err) {
            console.log(err);
        });
     
    meerkat.getBroadcastActivities(broadcastId, function (err, activities) {
        console.log(err || activities);
    });
     
    meerkat.getBroadcastActivities(broadcastId).
        then(function (activities) {
            console.log(activities);
        }, function (err) {
            console.log(err);
        });
     
    meerkat.getBroadcastRestreams(broadcastId, function (err, restreams) {
        console.log(err || restreams);
    });
     
    meerkat.getBroadcastRestreams(broadcastId).
        then(function (restreams) {
            console.log(restreams);
        }, function (err) {
            console.log(err);
        });
     
    meerkat.getBroadcastComments(broadcastId, function (err, comments) {
        console.log(err || comments);
    });
     
    meerkat.getBroadcastComments(broadcastId).
        then(function (comments) {
            console.log(comments);
        }, function (err) {
            console.log(err);
        });
     
    meerkat.getBroadcastLikes(broadcastId, function (err, likes) {
        console.log(err || likes);
    });
     
    meerkat.getBroadcastLikes(broadcastId).
        then(function (likes) {
            console.log(likes);
        }, function (err) {
            console.log(err);
        });
     
    meerkat.getBroadcastWatchers(broadcastId, function (err, watchers) {
        console.log(err || watchers);
    });
     
    meerkat.getBroadcastWatchers(broadcastId).
        then(function (watchers) {
            console.log(watchers);
        }, function (err) {
            console.log(err);
        });
     
     
    /**
     * User-specific requests.
     */
    var userId = '54fb2e454d0000d23bb9c40f';
     
    meerkat.getUserDetails(userId, function (err, userDetails) {
        console.log(err || userDetails);
    });
     
    meerkat.getUserDetails(userId).
        then(function (userDetails) {
            console.log(userDetails);
        }, function (err) {
            console.log(err);
        });
     
     
    /**
     * Don't forget to clean up when exiting.
     */
    process.on('SIGINT', shutdown);
    process.on('SIGTERM', shutdown);
     
    function shutdown () {
     
        // Don't accept any more requests. Finish handling the current requests.
        server.close(function () {
            meerkat.dispose();
        });
    }

    Install

    npm i meerkat-api

    DownloadsWeekly Downloads

    1

    Version

    1.0.3

    License

    MIT

    Last publish

    Collaborators

    • isabo