Comparing version 0.0.2 to 0.0.3
@@ -1,79 +0,71 @@ | ||
// Generated by CoffeeScript 1.3.3 | ||
(function() { | ||
var featured, fs, functionName, generatedFunctionName, path, rules; | ||
// Generated by CoffeeScript 1.6.3 | ||
var featured, fs, functionName, generatedFunctionName, path, rules; | ||
fs = require('fs'); | ||
fs = require('fs'); | ||
path = require('path'); | ||
path = require('path'); | ||
featured = exports; | ||
featured = exports; | ||
rules = {}; | ||
rules = {}; | ||
functionName = ''; | ||
functionName = ''; | ||
generatedFunctionName = ''; | ||
generatedFunctionName = ''; | ||
featured.configure = function(opts) { | ||
var defaults, key, val, _ref; | ||
defaults = { | ||
file: './rules.js', | ||
functionName: '__featured', | ||
generatedFunctionName: '__featuredStatic' | ||
}; | ||
opts = opts != null ? opts : {}; | ||
for (key in defaults) { | ||
val = defaults[key]; | ||
if ((_ref = opts[key]) == null) { | ||
opts[key] = val; | ||
} | ||
featured.configure = function(opts) { | ||
var defaults, key, val; | ||
defaults = { | ||
file: './rules.js', | ||
functionName: '__featured', | ||
generatedFunctionName: '__featuredStatic' | ||
}; | ||
opts = opts != null ? opts : {}; | ||
for (key in defaults) { | ||
val = defaults[key]; | ||
if (opts[key] == null) { | ||
opts[key] = val; | ||
} | ||
functionName = opts.functionName; | ||
generatedFunctionName = opts.generatedFunctionName; | ||
opts.file = path.resolve(opts.file); | ||
if (!fs.existsSync(opts.file)) { | ||
fs.writeFileSync(opts.file, "module.exports = {\n 'featureName': true,\n 'otherFeatureName': function()(session){\n\n if(process.env.NODE_ENV=='production')\n return false;\n\n if(session.userSettings && session.userSettings.enableDSPro)\n return true;\n\n }\n}"); | ||
} | ||
return rules = require(opts.file); | ||
}; | ||
} | ||
functionName = opts.functionName; | ||
generatedFunctionName = opts.generatedFunctionName; | ||
opts.file = path.resolve(opts.file); | ||
if (!fs.existsSync(opts.file)) { | ||
fs.writeFileSync(opts.file, "module.exports = {\n 'featureName': true,\n 'isProduction': function(session){\n return (process.env.NODE_ENV === 'production');\n }\n}"); | ||
} | ||
return rules = require(opts.file); | ||
}; | ||
featured.init = function(req, res, next) { | ||
var __featured; | ||
__featured = function(featureName) { | ||
return featured.checkFeature(featureName, req.session); | ||
}; | ||
res.locals[generatedFunctionName] = featured.generated(req.session); | ||
res.locals[functionName] = __featured; | ||
req[functionName] = __featured; | ||
return next(); | ||
featured.init = function(req, res, next) { | ||
var key, value, __featured; | ||
__featured = function(featureName) { | ||
return featured.checkFeature(featureName, req.session); | ||
}; | ||
__featured.defaults = {}; | ||
for (key in rules) { | ||
value = rules[key]; | ||
__featured.defaults[key] = featured.checkFeature(key, req.session); | ||
} | ||
res.locals[generatedFunctionName] = 'var ' + functionName + ' = function(featureName){return ' + functionName + '.defaults[featureName] || false;}' + '; ' + functionName + '.defaults = ' + JSON.stringify(__featured.defaults); | ||
res.locals[functionName] = __featured; | ||
req[functionName] = __featured; | ||
return next(); | ||
}; | ||
featured.checkFeature = function(featureName, session) { | ||
var rule; | ||
rule = rules[featureName]; | ||
if (typeof rule === 'undefined') { | ||
return false; | ||
} | ||
if (typeof rule === 'boolean') { | ||
return rule; | ||
} | ||
if (typeof rule === 'function') { | ||
return rule(session); | ||
} | ||
featured.checkFeature = function(featureName, session) { | ||
var rule, _ref; | ||
if ((session != null ? (_ref = session[functionName]) != null ? _ref[featureName] : void 0 : void 0) != null) { | ||
return session[functionName][featureName]; | ||
} | ||
rule = rules[featureName]; | ||
if (typeof rule === 'undefined') { | ||
return false; | ||
}; | ||
featured.generated = function(session) { | ||
var key, value, __featured; | ||
__featured = function(featureName) { | ||
return __featured.defaults[featureName]; | ||
}; | ||
__featured.defaults = {}; | ||
for (key in rules) { | ||
value = rules[key]; | ||
__featured.defaults[key] = featured.checkFeature(key, session); | ||
} | ||
return 'var ' + functionName + ' = function(featureName){return ' + functionName + '.defaults[featureName] || false;}' + '; ' + functionName + '.defaults = ' + JSON.stringify(__featured.defaults); | ||
}; | ||
}).call(this); | ||
} | ||
if (typeof rule === 'boolean') { | ||
return rule; | ||
} | ||
if (typeof rule === 'function') { | ||
return rule(session); | ||
} | ||
return false; | ||
}; |
{ | ||
"name": "featured", | ||
"description": "feature flags for node", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"homepage": "http://github.com/proksoup/featured", | ||
@@ -18,6 +18,9 @@ "repository": { | ||
}, | ||
"dependencies": { | ||
}, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"coffee-script": ">= 1.6.3" | ||
}, | ||
"scripts": { | ||
"prepublish": "./node_modules/coffee-script/bin/coffee -c -b -o lib src/*.coffee" | ||
}, | ||
"engines": { | ||
@@ -24,0 +27,0 @@ "node": ">=0.4.0" |
@@ -54,3 +54,3 @@ # Featured | ||
'awesomeStuff': false, | ||
'betterStuff': function()(session){ | ||
'betterStuff': function(session){ | ||
@@ -131,2 +131,2 @@ if(process.env.NODE_ENV=='production') | ||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Non-existent author
Supply chain riskThe package was published by an npm account that no longer exists.
Found 1 instance in 1 package
131
0
7596
1
70
1