UNPKG

bagpipes

Version:

Less code, more flow. Let's dance!

25 lines (19 loc) 721 B
'use strict'; var debug = require('debug')('pipes:fittings'); var path = require('path'); var assert = require('assert'); var util = require('util'); module.exports = function createFitting(pipes, fittingDef) { assert(fittingDef.name, util.format('name is required on fitting: %j', fittingDef)); var dir = pipes.config.fittingsDir || path.resolve(__dirname, '../fittings'); var modulePath = path.resolve(dir, fittingDef.name); try { var module = require(modulePath); var fitting = module(fittingDef, pipes); debug('loaded system fitting %s from %s', fittingDef.name, dir); return fitting; } catch (err) { debug('no system fitting %s in %s', fittingDef.name, dir); throw err; } };