UNPKG

@microfleet/core

Version:
46 lines (36 loc) 1.01 kB
# Extensions `Extensions` module adds the ability to register `extension` to lifecycle. `Extension` is a function that returns `Promise` ## Usage ```js const Extensions = require('./extensions'); const config = { enabled: [ 'preHandler' 'postHandler' ], register: [ [ { point: "preHandler", handler: result => Promise.resolve(result), } ] ] }; const extensions = new Extensions(config); extensions.register('preHandler', args => Promise.resolve(args)); // ... const promise = extensions.exec('preHandler'); // ... const promise = extensions.exec('postHandler'); ``` ## API `new Extension(config)` * `config` - configuration object * `enabled` - an array of enabled extensions * `register` - an array that contains a set of auto-registered extensions `Extension.exec(name, args = [], context)` * `name` - a name of extension * `args` - an array of arguments passed to extension handlers * `context` - `this` context of extension handlers