UNPKG

radxa-rock

Version:

GPIO interface for the Radxa Rock

53 lines (48 loc) 1.22 kB
/* Store(name) get(id, callback) insert(record, callback) update(id, record, callback) upsert(id, record, callback) delete(id, callback) asArray(options, callback) options{ offset: Number limit: Number filter: Object sort: { Key: Direction(1 Ascending, -1 Descending) ... } } ensure(record, callback) */ var config = require('../lib/config'); var storeType = config.section('store', {type: 'memory'}).type; var _stores = {}; var Store = require('./stores/memory'); var logger = require('../lib/logger'); var loadStore = function(collectionName){ return new Store(collectionName); }; var getStore = module.exports = function(collectionName){ return _stores[collectionName] || (_stores[collectionName] = loadStore(collectionName)); }; try{ try{ Store = require('./stores/'+storeType); }catch(e){ console.log(e); try{ Store = require(storeType); }catch(e){ throw e; } } }catch(e){ logger.log(storeType+' not availble falling back to in-memory store.'); logger.log(e); if(e.stack){ logger.log(e.stack); } }