registry.js
function parse(data, options, next) {
    data = this.get(data);

    if ('function' === typeof options) {
      next = options;
      options = {};
    }

    //
    // We cannot detect a license so we call the callback without any arguments
    // which symbolises a failed attempt.
    //
    if (!data) return next();

    debug('found %s in the package contents', data);

    // @TODO handle the edge case where people give us an URL instead of an
    // actual license.
    next(undefined, this.normalize(data));
  }
function parse(data, options, next) {
    data = this.get(data);

    if ('function' === typeof options) {
      next = options;
      options = {};
    }

    //
    // We cannot detect a license so we call the callback without any arguments
    // which symbolises a failed attempt.
    //
    if (!data) return next();

    debug('found %s in the package contents', data);

    // @TODO handle the edge case where people give us an URL instead of an
    // actual license.
    next(undefined, this.normalize(data));
  }
function parse ( data , options , next ) { data = this . get ( data ) ; if ( 'function' === typeof options ) { next = options ; options = { } ; } // // We cannot detect a license so we call the callback without any arguments // which symbolises a failed attempt. // if ( ! data ) return next ( ) ; debug ( 'found %s in the package contents' , data ) ; // @TODO handle the edge case where people give us an URL instead of an // actual license. next ( undefined , this . normalize ( data ) ) ; }
Parse the npm license information from the package.

@param {Object} data The package.json or npm package contents.
@param {Object} options Optional options.
@param {Function} next Continuation.
@api public
Parse the npm license information from the package .