remijs / remi-runner

A remi extension that allows to register plugins that return promises or are syncronous
MIT License
0 stars 0 forks source link

remi-runner

A remi extension that allows registering plugins that are returning promises during their registration or are registered synchronously

Dependency Status Build Status npm version Coverage Status

Installation

npm install remi-runner

Example Usage

const remi = require('remi')
const remiRunner = require('remi-runner')

const app = {}
const registrator = remi(app)

registrator.hook(remiRunner())

registrator.register([cbPlugin, promisePlugin, syncPlugin])

// a traditional plugin that uses an error-first-callback
// this will work w/o using the remi-runner
function cbPlugin(app, opts, next) {
  // ...
  next()
}

cbPlugin.attributes = { name: 'cbPlugin' }

// a plugin that returns a Promise. This type of plugin will be registered correctly
// only if remi is hooked with remi-runner
function promisePlugin(app, opts) {
  // ...
  return Promise.resolve()
}

cbPlugin.attributes = { name: 'promisePlugin' }

// a synchronous plugin. This type of plugin will be registered correctly
// only if remi is hooked with remi-runner
function syncPlugin(app, opts) {
  // ...
}

cbPlugin.attributes = { name: 'syncPlugin' }

License

MIT © Zoltan Kochan