nconf-lite/lib/nconf.js

47 lines
1.0 KiB
JavaScript
Raw Normal View History

/*
* nconf.js: Top-level include for the nconf module
*
* (C) 2011, Charlie Robbins
*
*/
2011-08-23 10:53:05 +00:00
var fs = require('fs'),
async = require('async'),
common = require('./nconf/common'),
2011-08-23 10:53:05 +00:00
Provider = require('./nconf/provider').Provider,
nconf = module.exports = Object.create(Provider.prototype);
2011-04-19 21:34:42 +00:00
//
2011-05-17 02:44:46 +00:00
// Use the memory engine by default.
2011-04-19 21:34:42 +00:00
//
2011-05-17 02:44:46 +00:00
nconf.use('memory');
//
// Expose the version from the package.json using `pkginfo`.
2011-05-17 02:44:46 +00:00
//
2011-06-08 03:45:01 +00:00
require('pkginfo')(module, 'version');
2011-04-19 21:34:42 +00:00
//
// ### function path (key)
// #### @key {string} The ':' delimited key to split
// Returns a fully-qualified path to a nested nconf key.
//
nconf.path = function (key) {
return key.split(':');
};
//
// ### function key (arguments)
// Returns a `:` joined string from the `arguments`.
//
nconf.key = function () {
return Array.prototype.slice.call(arguments).join(':');
};
//
// Expose the various components included with nconf
//
nconf.loadFiles = common.loadFiles;
nconf.formats = require('./nconf/formats');
nconf.stores = require('./nconf/stores');
nconf.Provider = Provider;