nconf.js | |
---|---|
/*
* nconf.js: Top-level include for the nconf module
*
* (C) 2011, Charlie Robbins
*
*/
require.paths.unshift(__dirname);
var nconf = exports; | |
Version 0.1.7 :: 4/20/2011 | nconf.version = [0, 1, 7]; |
Include the various store types exposed by nconf | nconf.stores = require('nconf/stores'); |
function use (type, options)@type {string} Type of the nconf store to use.@options {Object} Options for the store instance.Sets the active | nconf.use = function (type, options) {
if (!nconf.store || type.toLowerCase() !== nconf.store.type) {
nconf.store = new nconf.stores.create(type, options);
}
}; |
function get (key, callback)@key {string} Key to retrieve for this instance.@callback {function} Optional Continuation to respond to when complete.Retrieves the value for the specified key (if any). | nconf.get = function (key, callback) {
return nconf.store.get(key, callback);
}; |
function set (key, value, callback)@key {string} Key to set in this instance@value {literal|Object} Value for the specified key@callback {function} Optional Continuation to respond to when complete.Sets the | nconf.set = function (key, value, callback) {
return nconf.store.set(key, value, callback);
}; |
function clear (key, callback)@key {string} Key to remove from this instance@callback {function} Optional Continuation to respond to when complete.Removes the value for the specified | nconf.clear = function (key, callback) {
return nconf.store.clear(key, callback);
}; |
function load (callback)@callback {function} Continuation to respond to when complete.Responds with an Object representing all keys associated in this instance. | nconf.load = function (callback) { |
If we don't have a callback and the current store is capable of loading synchronously then do so. | if (!callback && nconf.store.loadSync) {
return nconf.store.loadSync();
}
if (!nconf.store.load) {
var error = new Error('nconf store ' + nconf.store.type + ' has no load() method');
if (callback) {
return callback (error);
}
throw error;
}
return nconf.store.load(callback);
}; |
function save (value, callback)@value {Object} Optional Config object to set for this instance@callback {function} Continuation to respond to when complete.Removes any existing configuration settings that may exist in this
instance and then adds all key-value pairs in | nconf.save = function (value, callback) {
if (!callback) {
callback = value;
value = null;
|
If we still don't have a callback and the current store is capable of saving synchronously then do so. | if (!callback && nconf.store.saveSync) {
return nconf.store.saveSync();
}
}
if (!nconf.store.save) {
var error = new Error('nconf store ' + nconf.store.type + ' has no save() method');
if (callback) {
return callback (error);
}
throw error;
}
return nconf.store.save(value, callback);
}; |
function reset (callback)@callback {function} Optional Continuation to respond to when complete.Clears all keys associated with this instance. | nconf.reset = function (callback) {
return nconf.store.reset(callback);
}; |
function key (arguments)Returns a | nconf.key = function () {
return Array.prototype.slice.call(arguments).join(':');
}; |
function path (key)@key {string} The ':' delimited key to splitReturns a fully-qualified path to a nested nconf key. | nconf.path = function (key) {
return key.split(':');
}; |
Use the | nconf.use('memory');
|