UNPKG

@eplata/memory-storage-data

Version:

Modulo que nos permitirá obtener data en memoria

63 lines (59 loc) • 1.84 kB
const init = require('./src/memory-storage'); const Joi = require('joi'); const { HOST, HOST_RO, PORT } = require('./src/environments'); const defaultOptions = { host: HOST, host_ro: HOST_RO || HOST, port: PORT, db: 0, prefix: 'PRE:' }; const schema = Joi.object({ host: Joi.string().required(), host_ro: Joi.string(), port: Joi.number().required(), db: Joi.number().required(), prefix: Joi.string().required() }); const generate = (options = defaultOptions) => { const { error } = schema.validate(options); if (error) throw new Error(error); const crud = init(options); return { existsKey: crud.existsKey, getExpireKey: crud.getExpireKey, deleteKey: crud.delete, renewKeyTTL: crud.renew, getKeys: crud.getKeys, object: { init: crud.init, set: crud.setData, addProperties: crud.addData, get: crud.getData, removeProperties: crud.removeData, logicDelete: crud.logicDeleteData, }, list: { init: crud.initList, set: crud.setList, get: crud.getList, removeElement: crud.removeElement, addElement: crud.addElement, getElement: crud.getElement }, counter: { create: crud.createCount, get: crud.getCount, increase: crud.increaseCount, remove: crud.removeCount } }; } module.exports = (options = { ...defaultOptions }) => generate({ host: options.host || defaultOptions.host, host_ro: options.host_ro || defaultOptions.host_ro, db: options.db || defaultOptions.db, port: options.port || defaultOptions.port, prefix: options.prefix || defaultOptions.prefix });