Extensions (Helpers Layer) #
When application requires special and independent from system module it is Extension. Extensions are similar to npm
module. Extension's load have same rules of initializing and usage as npm
modules.
Extension loads by application's instance method app.extension
(or alias app.ext
deprecated)
Example #
Simple extension file:
// extensions/error/index.js
module.exports.err = require('./err');
module.exports.throw = require('./throw');
// extensions/error/throw.js
var err = require('./err');
module.exports = function(error_message) {
throw err(error_message);
};
// extensions/error/err.js
module.exports = function(error_message) {
return new Error(error_message);
};
Application file:
// app.js
var IFNode = require('ifnode'),
app = IFNode();
app.extension('error-throw').throw('boom'); // throw error boom
app.extension('error-throw/err')('boom'); // returns Error instance boom