Merge pull request #98 from joaoafrmartins/master
filter process.env by regexp
This commit is contained in:
commit
d5bd26c0b6
2 changed files with 11 additions and 3 deletions
|
@ -191,11 +191,12 @@ Responsible for loading the values parsed from `process.env` into the configurat
|
|||
var dbHost = nconf.get('database:host');
|
||||
|
||||
//
|
||||
// Or use both options
|
||||
// Or use all options
|
||||
//
|
||||
nconf.env({
|
||||
separator: '__',
|
||||
whitelist: ['database__host', 'only', 'load', 'these', 'values']
|
||||
match: /^whatever_matches_this_will_be_whitelisted/
|
||||
whitelist: ['database__host', 'only', 'load', 'these', 'values', 'if', 'whatever_doesnt_match_but_is_whitelisted_gets_loaded_too']
|
||||
});
|
||||
var dbHost = nconf.get('database:host');
|
||||
```
|
||||
|
|
|
@ -21,6 +21,7 @@ var Env = exports.Env = function (options) {
|
|||
options = options || {};
|
||||
this.type = 'env';
|
||||
this.readOnly = true;
|
||||
this.match = options.match
|
||||
this.whitelist = options.whitelist || [];
|
||||
this.separator = options.separator || '';
|
||||
if (options instanceof Array) {
|
||||
|
@ -52,7 +53,13 @@ Env.prototype.loadEnv = function () {
|
|||
|
||||
this.readOnly = false;
|
||||
Object.keys(process.env).filter(function (key) {
|
||||
return !self.whitelist.length || self.whitelist.indexOf(key) !== -1;
|
||||
if(self.match && self.whitelist.length) {
|
||||
return key.match(self.match) || self.whitelist.indexOf(key) !== -1
|
||||
} else if (self.match) {
|
||||
return key.match(self.match)
|
||||
} else {
|
||||
return !self.whitelist.length || self.whitelist.indexOf(key) !== -1
|
||||
}
|
||||
}).forEach(function (key) {
|
||||
if (self.separator) {
|
||||
self.set(common.key.apply(common, key.split(self.separator)), process.env[key]);
|
||||
|
|
Loading…
Reference in a new issue