Jump To …

stores.js

/*
 * stores.js: Top-level include for all nconf stores
 *
 * (C) 2011, Charlie Robbins
 *
 */
 
var fs = require('fs'),
    stores = exports;

function capitalize (str) {
  return str && str[0].toUpperCase() + str.slice(1);
};

Setup all stores as lazy-loaded getters.

fs.readdirSync(__dirname + '/stores').forEach(function (file) {
  var store = file.replace('.js', ''),
      name  = capitalize(store);
      
  stores.__defineGetter__(name, function () {
    return require('./stores/' + store)[name];
  });
});

function create (type, options)

@type {string} Type of the nconf store to use.

@options {Object} Options for the store instance.

Creates a store of the specified type using the specified options.

stores.create = function (type, options) {
  return new stores[capitalize(type.toLowerCase())](options);
};