@eyugame/dao
Version:
A modelling tool for RealtimeDatabase(firebase) & Dynamodb(Amazon) & Redis
36 lines (27 loc) • 686 B
JavaScript
/**
* DAO
*/
;
const utils = require('./utils');
let impl;
if (utils.isFirebasePlatform()) {
impl = require('./firebase');
} else if (utils.isAWSPlatform()) {
impl = require('./aws');
} else if (utils.isRedis()) {
impl = require('./redis');
} else {
throw new Error(`DAO unknown platform: ${DB_PLATFORM}`);
}
function notImplements(fnName) {
return function () {
throw new Error(`Platform: [${DB_PLATFORM}], [${fnName}] not implements`);
};
}
const dao = {};
const daoFunctions = ['setup', 'init', 'define'];
for (let func of daoFunctions) {
dao[func] = impl[func] || notImplements(func);
}
// dao.init();
module.exports = dao;