Home

Awesome

base-plugins-enhanced npmjs.com The MIT License npm downloads

Error handling and extras for .use and .run methods of your Base apps. Modifies .use method to be able to 1) accept array of functions, 2) options object as second argument. Emits error event if some plugin fails.

code climate standard code style travis build status coverage status dependency status

Install

npm i base-plugins-enhanced --save

Usage

For more use-cases see the tests

const basePluginsEnhanced = require('base-plugins-enhanced')

basePluginsEnhanced

Upgrade the built-in plugin system or that comes from base-plugins to have error handling and some little extra stuff. Like you can pass array of plugins to .use method and also options object as second argument.

Params

Example

var plugins = require('base-plugins-enhanced')
var Base = require('base')
var app = new Base()

app
  .use(plugins())
  .use(function foo () {}, { aa: 'bb' })
  .use(function bar () {}, { xx: 'yy' })
  .use([
    function pluginOne () {},
    function pluginTwo () {},
  ], opts)

.use

Add plugin to your base application. See Base's or the base-plugins documentation.

Params

Example

app.use([
  function one () {},
  function two () {}
], { foo: 'bar' })

.run

Run the stack of plugins. See more on base-plugins documentation on .run method.

Params

Example

app
  .use(function foo (app) {
    return function (ctx) {
      ctx.foo = 'fooooo'
    }
  }, { first: 'yes' })
  .use([
    function bar (app) {
      return function (ctx) {
        ctx.bar = 'barrr'
      }
    }
    function baz (app) {
      return function (ctx) {
        ctx.qux = 123
      }
    }
  ], { multiple: true })
  .use(function qux (app) {
    app.zzz = 'yyyy'
  }, { aaa: bbb })

var obj = { charlike: 'mike' }
app.run(obj)

console.log(app.zzz)
// => 'yyyy'

console.log(obj)
// => { foo: 'fooooo', bar: 'barrr', qux: 123 }

console.log(app.options)
// => { first: 'yes', multiple: true, aaa: 'bbb', charlike: 'mike' }

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github