function QB (options) {
  if (!(this instanceof QB)) {
    return new QB(options);
  }

  // Super constructor
  MiddlewareProvider.call(this);

  var qb = this;

  // Init
  qb._options = defaults(options, default_options)
  qb._types = {}
  qb._aliases = {}
  qb.name = qb._options.name

  // TODO process this into .alias
  _processAliasOptions(qb, qb._options.aliases)

  qb.log = book.default();

  if (qb._options.catch_sigterm_end)
    handleSigterm(qb);

  _listen(qb)
}
function QB (options) {
  if (!(this instanceof QB)) {
    return new QB(options);
  }

  
  MiddlewareProvider.call(this);

  var qb = this;

  
  qb._options = defaults(options, default_options)
  qb._types = {}
  qb._aliases = {}
  qb.name = qb._options.name

  
  _processAliasOptions(qb, qb._options.aliases)

  qb.log = book.default();

  if (qb._options.catch_sigterm_end)
    handleSigterm(qb);

  _listen(qb)
}
function QB ( options ) { if ( ! ( this instanceof QB ) ) { return new QB ( options ) ; } // Super constructor MiddlewareProvider . call ( this ) ; var qb = this ; // Init qb . _options = defaults ( options , default_options ) qb . _types = { } qb . _aliases = { } qb . name = qb . _options . name // TODO process this into .alias _processAliasOptions ( qb , qb . _options . aliases ) qb . log = book . default ( ) ; if ( qb . _options . catch_sigterm_end ) handleSigterm ( qb ) ; _listen ( qb ) }
-- Main Type and Public API -- /*
QB - The primary type of the qb package

@param options - See README.md for options documentation
-- Main Type and Public API -- / * QB - The primary type of the qb package