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 - npm Package Compare versions

Comparing version 0.1.6 to 0.1.8

188

index.js

@@ -22,2 +22,5 @@ var fs = require('fs'),

- push
- extract
- sumar
- restar
- datos

@@ -64,3 +67,4 @@ */

if(x == split_coords.length - 1) global_object = global_object[objecT_name] = set_value
else global_object = typeof global_object[objecT_name] != "object" ? global_object[objecT_name] = {} : global_object[objecT_name]
//else global_object = typeof global_object[objecT_name] != "object" ? global_object[objecT_name] = {} : global_object[objecT_name]
else global_object = (Array.isArray(global_object[objecT_name]) || typeof global_object[objecT_name] != "object") ? global_object[objecT_name] = {} : global_object[objecT_name]
}else{

@@ -228,7 +232,7 @@ if(x == split_coords.length - 1) global_object = global_object[objecT_name] = set_value

else{
reject(null)
reject("Array no encontrado.")
}
}
}else{
reject(null)
reject("Array no encontrado.")
}

@@ -245,3 +249,3 @@ }

else{
reject(null)
reject("Array no encontrado.")
}

@@ -251,8 +255,182 @@

else{
reject(null)
reject("Array no encontrado.")
}
}
})
},
//funcion para eliminar un elemento de una lista (array), tambien detecta propiedades a travez del punto y elimina elementos de algo especifico.
this.extract = function(key_value, type_value) {
if(!key_value) throw new TypeError("Clave no especificada")
if (!type_value && type_value != 0) throw new TypeError("Valor no especificado.")
if(typeof key_value != "string") throw new TypeError("Formato invalido, debes de poner un string (cadena de texto).")
if(key_value.includes(" ")) throw new TypeError("Formato invalido, no pongas espacios.")
return new Promise((resolve, reject) => {
if(key_value.includes(".")) {
let properties = key_value.split(".")
if(properties.some(r => r.length <= 0)) throw new TypeError("Formato invalido, asegurate de no poner espacios en blanco, tampoco usar dos puntos uno seguido de otro.")
let lastobject = this.value
for(var x = 0; x < properties.length; x++) {
let index = properties[x]
if(lastobject[index] != null) {
lastobject = lastobject[index]
if(x === properties.length - 1) {
if(Array.isArray(lastobject)) {
if(lastobject.includes(type_value)) {
lastobject.splice(lastobject.indexOf(type_value), 1)
Save_data()
resolve(lastobject)
}else{
reject(`Elemento ${type_value} no encontrado.`)
}
}
else{
reject("Array no encontrado.")
}
}
}else{
reject("Array no encontrado.")
}
}
}
else{
if(this.value[key_value] != null) {
if(Array.isArray(this.value[key_value])) {
if(this.value[key_value].includes(type_value)) {
this.value[key_value].splice(this.value[key_value].indexOf(type_value), 1)
Save_data()
resolve(this.value[key_value])
}else{
reject(`Elemento ${type_value} no encontrado.`)
}
}
else{
reject("Array no encontrado.")
}
}
else{
reject("Array no encontrado.")
}
}
})
},
//funcion para restar una cierta cantidad a un valor, tambien puedes acceder a un valor especifico.
this.restar = function(key_value, type_value) {
if(!key_value) throw new TypeError("Clave no especificada")
if (!type_value && type_value != 0) throw new TypeError("Valor no especificado.")
if(typeof key_value != "string") throw new TypeError("Formato invalido, debes de poner un string (cadena de texto).")
if(typeof type_value != "number") throw new TypeError("Formato invalido, debes de poner un numero.")
if(key_value.includes(" ")) throw new TypeError("Formato invalido, no pongas espacios.")
return new Promise((resolve, reject) => {
if(key_value.includes(".")) {
let properties = key_value.split(".")
if(properties.some(r => r.length <= 0)) throw new TypeError("Formato invalido, asegurate de no poner espacios en blanco, tampoco usar dos puntos uno seguido de otro.")
let lastobject = this.value
for(var x = 0; x < properties.length; x++) {
let index = properties[x]
if(lastobject[index] != null) {
if(x === properties.length - 1) {
if(!isNaN(lastobject[index])) {
lastobject[index] = lastobject[index] - type_value
Save_data()
resolve(lastobject)
}
else{
reject("Numero no encontrado.")
}
}
lastobject = lastobject[index]
}
else{
reject("Numero no encontrado.")
}
}
}
else{
if(this.value[key_value] != null) {
if(!isNaN(this.value[key_value])) {
this.value[key_value] = this.value[key_value] - type_value
Save_data()
resolve(this.value[key_value])
}
else{
reject("Numero no encontrado.")
}
}
else{
reject("Numero no encontrado.")
}
}
})
},
//funcion para sumar una cierta cantidad a un valor, tambien puedes acceder a un valor especifico.
this.sumar = function(key_value, type_value) {
if(!key_value) throw new TypeError("Clave no especificada")
if (!type_value && type_value != 0) throw new TypeError("Valor no especificado.")
if(typeof key_value != "string") throw new TypeError("Formato invalido, debes de poner un string (cadena de texto).")
if(typeof type_value != "number") throw new TypeError("Formato invalido, debes de poner un numero.")
if(key_value.includes(" ")) throw new TypeError("Formato invalido, no pongas espacios.")
return new Promise((resolve, reject) => {
if(key_value.includes(".")) {
let properties = key_value.split(".")
if(properties.some(r => r.length <= 0)) throw new TypeError("Formato invalido, asegurate de no poner espacios en blanco, tampoco usar dos puntos uno seguido de otro.")
let lastobject = this.value
for(var x = 0; x < properties.length; x++) {
let index = properties[x]
if(lastobject[index] != null) {
if(x === properties.length - 1) {
if(!isNaN(lastobject[index])) {
lastobject[index] = lastobject[index] + type_value
Save_data()
resolve(lastobject)
}
else{
reject("Numero no encontrado.")
}
}
lastobject = lastobject[index]
}
else{
reject("Numero no encontrado.")
}
}
}
else{
if(this.value[key_value] != null) {
if(!isNaN(this.value[key_value])) {
this.value[key_value] = this.value[key_value] + type_value
Save_data()
resolve(this.value[key_value])
}
else{
reject("Numero no encontrado.")
}
}
else{
reject("Numero no encontrado.")
}
}
})
}
}
}

2

package.json
{
"name": "mega-dtbs",
"version": "0.1.6",
"version": "0.1.8",
"description": "simple database",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -15,4 +15,6 @@ ```

- push
- extract
- sumar
- restar
## Instalacion:

@@ -123,13 +125,54 @@

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.
Esto retornara una promesa con el array actualizado, de lo contrario si la ruta donde quieres agregarlo no es un array, retornara "Array no encontrado".
```
```js
niveles.push('RatSageM', 'elemento1') // retorma ["elemento1"]
niveles.push('RatSageM', 'manzana') // retorna ["manzana"]
niveles.agregar('MGstar', {items: ["elemento1"]}) // retorna {items: ["elemento1"]}
niveles.agregar('MGstar', {items: ["platano"]}) // retorna {items: ["platano"]}
niveles.push('MGstar', 'elemento2') // retorna null
niveles.push('MGstar.items', 'elemento2') // retorna ["elemento1", "elemento2"]
niveles.push('MGstar', 'sandia') // retorna "Array no encontrado."
niveles.push('MGstar.items', 'sandia') // retorna ["platano", "sandia"]
```
### extract(clave, valor)
```
Esta funcion te permite remover un elemento de un array.
Tambien te permite remover un elemento en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el array actualizado, si la ruta donde quieres agregarlo no es un array, retornara "Array no encontrado" y si el array no contiene el valor que pusiste, retornara "elemento {nombre_item} no encontrado"
```
```js
niveles.extract('MGstar', 'platano') // retorna "Array no encontrado."
niveles.extract('MGstar.items', 'platano') // retorna ["sandia"]
niveles.extract('MGstar.items', 'durazno') // retorna "elemento durazno no encontrado."
```
### sumar(clave, numero)
```
Esta funcion te permite sumar una cantidad especifica a una clave, el valor de la clave debe ser un numero.
Tambien te permite sumarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el valor actualizado, de lo contrario retornara "Numero no encontrado."
```
```js
niveles.agregar('Nelson', 20) //retorna 20
niveles.sumar('Nelson', 25) //retorna 45
niveles.agregar('Sun.datos.monedas', 10) // retorna {datos: {monedas: 10}}
niveles.sumar('Sun.datos', 90) //retorna "Numero no encontrado."
niveles.sumar('Sun.datos.monedas', 90) // retorna {datos: {monedas: 100}}
```
### restar(clave, numero)
```
Esta funcion te permite restar una cantidad especifica a una clave, el valor de la clave debe ser un numero.
Tambien te permite restarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el valor actualizado, de lo contrario retornara "Numero no encontrado."
```
```js
niveles.restar('Nelson', 40) //retorna 5
niveles.restar('Sun.datos', 100) //retorna "Numero no encontrado."
niveles.restar('Sun.datos.monedas', 100) // retorna {datos: {monedas: 0}}
```
## Ejemplo usando algunas funciones:

@@ -153,3 +196,3 @@ ```js

else{
estadisticas.agregar('MegaStar.xp', datos.xp + randomXP)
estadisticas.sumar('MegaStar.xp', randomXP)
}

@@ -165,11 +208,11 @@ }).catch(err => console.log(err))

escuela.agregar('MegaStar', {edad: 20, profesion: ["programador"]});
escuela.agregar('MoDeR', {edad: 18, profesion: ["programador"]});
escuela.agregar('RatSageM', {edad: 25, profesion: ["maestro"]});
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) => {
escuela.datos().then(alumnos => {
for(var alumno in alumnos) {
if(alumnos[alumno].profesion.includes('programador')) {
escuela.push(`${alumno}.profesion`, "javascript");
escuela.push(`${alumno}.profesion`, 'javascript');
continue;

@@ -181,4 +224,4 @@ }

/*
resultado:
//resultado final:
{

@@ -194,3 +237,28 @@ "MegaStar": {

}
*/
/////////////////////////////////////////////////////
const db = require('mega-dtbs');
let mercado_db = new db.crearDB('mercado');
let nombres = ['manzana', 'melocoton', 'sandia', 'lechuga']
mercado_db.agregar('frutas', nombres); //esto retorna ['manzana', 'melocoton', 'sandia', 'lechuga']
mercado_db.obtener('frutas').then(f => {
for(var x = 0; x < f.length; x++) {
if(f[x] == 'lechuga') {
mercado_db.extract('lechuga') //esto retorna ['manzana', 'melocoton', 'sandia']
console.log(`La ${f[x]} no es una fruta, acabo de removerlo.`)
break;
}
}
})
//resultado final:
{
"frutas": ["manzana", "melocoton", "sandia"]
}
```
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