Nine Pedestrians Mesmerized

    pubgraphbuilder

    0.1.2 • Public • Published

    npmgraphbuilder

    Builds graph of pub package dependencies from pub.dev. A graph is an instance of ngraph.graph.

    Build Status

    Demo

    This library is not bound to any particular http client. It requires http client to be injected into constructor:

    var graph = require('ngraph.graph')();
    var graphBuilder = require('pubgraphbuilder')(httpClient);
    
    graphBuilder.createPubDependenciesGraph(pkgName, graph)
      .then(function (graph) {
        console.log('Done.');
        console.log('Nodes count: ', graph.getNodesCount());
        console.log('Edges count: ', graph.getLinksCount());
      })
      .fail(function (err) {
        console.error('Failed to build graph: ', err);
      });

    Here httpClient is a function (url, data) {}, which returns a promise.

    A demo of httpClient, implemented in angular.js:

    function httpClient(url, data) {
      // since we will be using from a web browser, make sure jsonp is enabled:
      data.callback = 'JSON_CALLBACK';
      return $http.jsonp(url, {params: data});
    }

    A demo of httpClient implemented in node.js:

    var q = require('q');       // npm install q
    var http = require('http'); // stadard http
    var querystring = require('querystring'); // standard query string
    
    function httpClient(url, data) {
      var defer = q.defer();
      http.get(url + '?' + querystring.stringify(data), function (res) {
        var body = '';
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
          body += chunk;
        }).on('end', function () {
          defer.resolve({ data: JSON.parse(body) });
        });
      });
    
      return defer.promise;
    }

    To see working demo please refer to demo folder.

    install

    With npm do:

    npm install pubgraphbuilder
    

    license

    MIT

    Install

    npm i pubgraphbuilder

    DownloadsWeekly Downloads

    3

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    12.2 kB

    Total Files

    8

    Last publish

    Collaborators

    • werainkhatri