Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mega-dtbs

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mega-dtbs

simple database

  • 0.1.6
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source
mega-dtbs es un package que te permite trabajar con una base de datos de forma sencilla y persistente.
Contiene multiples metodos para facilitarte el uso de almacenar, recaudar y actualizar datos.

Metodos:

  • crearDB
  • agregar
  • obtener
  • tiene
  • eliminar
  • datos
  • push

Instalacion:

npm install mega-dtbs

Ejemplo del requerimiento del package:

const db = require('mega-dtbs');

crearDB(nombre)

Esta funcion te permite crear una especifica base de datos mediante un nombre, si el nombre de la base de datos que pusiste ya existia, lo que hara es devolver
los datos existentes, de lo contrario creara uno.
let niveles = new db.crearDB('niveles')

agregar(clave, valor)

Esta funcion te permite crear datos mediante una clave, tambien te permite actualizar datos existentes por nuevos.
Si quieres crear o actualizar propiedades especificas de un objeto, puedes usar el . seguido del nombre de la propiedad.
Esto retornara una promesa con los nuevos datos.
niveles.agregar('MegaStar', {xp: 0, nivel: 10}) // retorna {xp: 0, nivel: 10}
niveles.agregar('MegaStar.xp', 100) // retorna {xp: 100, nivel: 10}
niveles.agregar('MoDeR', 100) // retorna 100
niveles.agregar('MoDeR.datos.monedas', 200) // retorna {datos: {monedas: 200}}
niveles.agregar('MoDeR.datos.banco', 1000) // retorna {datos: {monedas: 200, banco: 1000}}
niveles.agregar('RatSageM', []) // retorna []

obtener(clave)

Esta funcion te permite obtener los datos de una clave.
Tambien te permite obtener datos de una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con los datos que se obtuvo, de lo contrario retornara null.
niveles.obtener('MegaStar') // retorna {xp: 100, nivel: 10}
niveles.obtener('MegaStar.nivel') // retorna 10
niveles.obtener('MoDeR.datos.banco') // retorna 1000

tiene(clave)

Esta funcion te permite verificar si existe una clave en la base de datos.
Tambien te permite verificar una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara true si existe, de lo contrario retornara false.
niveles.tiene('MegaStar') // retorna true
niveles.tiene('Mario') // retorna false
niveles.tiene('MegaStar.monedas') // retorna false
niveles.tiene('MoDeR.datos.monedas') // retorna true

eliminar(clave)

Esta funcion te permite eliminar una clave de la base de datos.
Tambien te permite eliminar una propiedad especificas usando el . seguido del nombre de la propiedad.
Esto retornara true si se elimino correctamente, de lo contrario retornara false.
niveles.eliminar('MegaStar.xp') //retorna true
niveles.eliminar('MoDeR.datos.banco') //retorna true
niveles.eliminar('Mario') //retorna false


niveles.tiene('MoDeR.datos.banco') // retorna false porque lo eliminamos
niveles.tiene('MegaStar.xp') // retorna false porque lo eliminamos

niveles.obtener('MegaStar') // retorna {nivel: 10}
niveles.obtener('MoDeR.datos') // retorna {monedas: 200}

datos()

Esta funcion regresa todas las claves con su respectivo valor de una base de datos.
Esto retornara una promesa con todos los datos.
niveles.datos()

// retorna
{
  "MegaStar": {
    nivel: 10
  },
  "MoDeR": {
    "datos": {
      "monedas": 100
    }
  },
  "RatSageM": []
}

push(clave, valor)

Esta funcion te permite agregar un elemento a un array.
Tambien te permite agregarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el array actualizado, de lo contrario si la ruta donde quieres agregarlo no es un array, retornara null.
niveles.push('RatSageM', 'elemento1') // retorma ["elemento1"]

niveles.agregar('MGstar', {items: ["elemento1"]}) // retorna {items: ["elemento1"]}

niveles.push('MGstar', 'elemento2') // retorna null
niveles.push('MGstar.items', 'elemento2') // retorna ["elemento1", "elemento2"]

Ejemplo usando algunas funciones:

const db = require('mega-dtbs');
let estadisticas = new db.crearDB('niveles');

let randomXP = Math.floor(Math.random() * 60) + 1;

if(!estadisticas.tiene('MegaStar')) {
  estadisticas.agregar('MegaStar', {xp: 0, nivel: 1});
}

estadisticas.obtener('MegaStar').then(datos => {
  if((randomXP + datos.xp) >= 50) {
    estadisticas.agregar('MegaStar', {xp: 0, nivel: datos.nivel + 1}).then(nuevos_datos => {
      console.log(`MegaStar subio al nivel ${nuevos_datos.nivel}!`)
    }).catch(err => console.log(err))
  }
  else{
    estadisticas.agregar('MegaStar.xp', datos.xp + randomXP)
  }
}).catch(err => console.log(err))


/////////////////////////////////////////////////////


const db = require('mega-dtbs');
let escuela = new db.crearDB('alumnos');

escuela.agregar('MegaStar', {edad: 20, profesion: ["programador"]});
escuela.agregar('MoDeR', {edad: 18, profesion: ["programador"]});
escuela.agregar('RatSageM', {edad: 25, profesion: ["maestro"]});


escuela.datos().then(async (alumnos) => {
  for(var alumno in alumnos) {
    if(alumnos[alumno].profesion.includes('programador')) {
      escuela.push(`${alumno}.profesion`, "javascript");
      continue;
    }
    escuela.eliminar(`${alumno}`)
  }
}).catch(error => console.log(error))

/*
resultado:
{
  "MegaStar": {
    "edad": 20,
    "profesion": ["programador", "javascript"]
  },
  "MoDeR": {
    "edad": 18,
    "profesion": ["programador", "javascript"]
  }
}
*/

Keywords

FAQs

Package last updated on 30 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc