UNPKG

@eyugame/dao

Version:

A modelling tool for RealtimeDatabase(firebase) & Dynamodb(Amazon) & Redis

36 lines (27 loc) 686 B
/** * DAO */ 'use strict'; 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;