pomegranate
Version:
Super flexible whitebox web application framework
38 lines (34 loc) • 967 B
JavaScript
/**
* @file pluginSettingsFunction
* @author Jim Bulkowski <jim.b@paperelectron.com>
* @project Pomegranate
* @license MIT {@link http://opensource.org/licenses/MIT}
*/
;
var stringifyObject = require('stringify-object');
var _ = require('lodash');
module.exports = function(pluginName, exportObj) {
var EOL = require('os').EOL
var objString = stringifyObject(exportObj, {indent: ' ', singleQuotes: true})
var paddedObj = _.map(objString.split('\n'), function(line, index){
if(index > 0) {
return ' ' + line
}
return line
}).join(EOL);
var functionString = [
'exports.'+ pluginName +' = function(Env){',
' return '+ paddedObj,
'}'
];
var file = [
'/* ',
' * ' + pluginName + ' -- Settings',
' *',
' * The Env parameter in the exported function below refers to process.env',
' * Feel free to use it as such.',
' */',
''
].concat(functionString).join(EOL)
return file
}