memvaz.utils

8.0.9 • Public • Published

Mejoras

- Ahora podras especificar el directorio donde se guardaran tus base de datos, tambien podras usar sub directorios.
- Errores descriptivos.
- Se agregaron métodos para conseguir imgs randoms.
- Se actualizaron los métodos con sus nombres.
- Ejemplos mejores y explicados.
- Constructores y API's actualizados.
- Se añadieron métodos de consolas para poder hacer warns, logs, etc.
- Se añadieron métodos de schemas y se hicieron bug fixes, ya que no dejaba exportar el módelo.

Importante

  • Por default se creará una carpeta llamada memvaz.database_databases en la carpeta principal de tu proyecto (puedes cambiar el nombre de esta carpeta en el constructor) newDB. No borres dicha carpeta a menos que quieras borrar absolutamente todas tus base de datos.

Importante

  • Si por alguna razon, te aparece el sig error: (throw new TypeError('invalid options argument') TypeError:invalid options argument) busca tu directorio "node_modules" despues, busca la carpeta "memvaz.utils" y en ella, busca otra carpeta llamada "node_modules" y borrala, por alguna razón, algunos dispositivos no aceptan los archivos: ".gitignore" y por lo tanto se crea esa carpeta que obstruye los métodos.
  • Si estas usando los métodos de db y te dice que newDB no esta definido, en las primeras líneas de tu código escribe: const newDB = require("./node_modules/memvaz.utils/crearDB.js")

Changelog

Versión: 3.0.1

Se agregaron metodos como add, all, delete, fetch, has, push, set, substract, type, Estos metodos no crearan un archivo .json como los demas, este npm esta diseñado para mejorar la experiencia del usuario, y como hemos visto, a muchas personas les molesta el .json, se estan creando metodos para trabajar con tablas.

Versión 4.0.0

Se actualizaron todos los métodos disponibles de uso de json y uso de tablas, se añadieron API´s que permiten obtener imágenes random, consulte los métodos

Versión 5.0.8

Se hicieron bug fixes en los métodos de newDB y memDB. Ahora funcionan.

Versión 5.1.5

Se hicieron bug fixes a todos los métodos, ya que tiraba un TypeError diciendo que no era una función, Los errores se hicieron más descriptivos y se corrigieron, ya que el metodo para crear una DB es newDB y en los errores decía crearDB.

Versión 6.1.5

Se agregaron métodos que permiten hacer consoles, ejemplo: console.warn, aparte, se mejoro la memDB y se hicieron bug fixes en el index, ya que tiraba un error desconocido.

Versión 7.0.0

Se añadieron métodos para poder hacer un schem, esto facilita el trabajo sin archivos .json, ya que mucha gente me sugería que hiciera algo así, ya que hay gente con proyectos hosteados y no pueden usar .json ya que no se guardan, así que añadí métodos de un schema.

Versión 7.0.1

Se hicieron bug fixes, ya que no se podía exportar el schema o modelo

Constructor:

Instalacion:

npm install memvaz.utils --save

Ejemplo del requerimiento del package:

const db = require('memvaz.utils');
### newDB
Schema({ //Opciones. 
})

Este constructor te permite crear una base de datos mediante un schema

Descripción

Este constructor, es atraves de archivos .js los cuales contendran el schema

Modo de uso

Este modo permite crear schemas sin trabajar con archivos .json, para crear un Schema, se necesitará usar el método: Schema

Ejemplo

//Ejemplo 1

const memvaz = require("memvaz.utils"); //Llamamos al npm.
const { Date, Schema } = require("memvaz.utils/schemas/lib"); //Definimos las variables.
const schema = new Schema; //Definimos que trabajaremos con un schema.
const ObjectID = Schema.ObjectId; //Hacemos el método: ObjectId.

const BlogPost = new Schema({ //Creamos el Schema.
//Desde aqui hacia abajo, todo es editable, puedes poner tus propios datos siempre y cuando especifiques que método es como lo indica:
    author: ObjectID, //Aqui usaremos de ejemplo el author que usaremos objectID antes definido (NOTA: Tu puedes cambiar los datos como tu quieras, ejemplo: user: ObjectID, level: Number.)
    title: String, //Aqui usaremos de ejemplo un título, este es una String asi que haci lo definimos.
    message: String, //Aqui usaremos de ejemplo un message, este es una string.
    date: Date //Aqui usaremos de ejemplo la fecha.
});
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////// Para hacer un módelo: /////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

const test = new memvaz.model("Nombre del modelo", schema) //Hacemos el modelo y requerimos el schema.

//Para saber más ejemplos, consulta nuestros docs: (No disponible) (Pronto estará disponible)
### newDB
newDB(nombre_db, sub_directorio)

Este constructor te permite crear una base de datos en un archivo .json

Modo de uso

Este constructor tiene dos modos de uso:

Modo #1

Este modo es el que siempre se ha usado, aqui debes de especificar el nombre de la base de datos y el sub directorio (opcional).

En este modo por default la carpeta donde se almacenarán tus bases de datos será memvaz_databases, y si esta carpeta no existe se creará automaticamente.

Ejemplo

//Ejemplo 1
const db = require('memvaz.utils');
let personas = new db.newDB('personas');
/*
Esto hará que se cree la base de datos personas.json dentro de la carpeta memvaz.database_databases

Estructura:

[+] memvaz.database_databases
    - personas.json

*/

//Ejemplo 2
const db = require('memvaz.utils');
let economia = new db.newDB('guild_1', 'economia_db');
/*
Esto hará que se cree un sub directorio llamado "economia_db" dentro de la carpeta memvaz.database_databases, y dentro de este sub directorio se creará la base de datos guild_1.json

Estructura:

[+] memvaz_databases
    [+] economia_db
        - guild_1.json
    - niveles.json
*/

Modo #2

Este modo te permite hacer lo mismo que el modo #1, la unica diferencia es que ahora puedes especificar el nombre de la carpeta donde se almacenaran tus bases de datos y tambien añadir la opcion de que tu base de datos no se llegue a reescribir rapidamente.

En este modo solo se puede hacer uso de un parametro la cual debe de contener un objeto con 3 propiedades.

Ejemplo

//Ejemplo 1
const db = require('memvaz.utils');
let niveles = new db.newDB({
  nombre: "levels",
  carpeta: "datos_niveles"
});
/*
Esto hará que se cree la base de datos levels.json dentro de la carpeta mencionada.

Estructura:

[+] datos_niveles
    - levels.json

*/
### memDB

El constructor memDB te permitira crear una base de datos en memoria de forma eficiente. Que quiere decir base de datos en memoria? Practicamente los datos que agregues no se guardaran en un archivo ya que se mantendran en la memoria interna de este package, recuerda que los datos que agregues se perderan cada vez que tu proyecto/app se apague o reinicie. Esto es perfecto para hacer cosas rapidas.

memDB(nombre_db)

Argumentos

  1. nombre_db: Nombre de la base de datos, en caso de que quieras obtener los datos de esta db en otro archivo, solo debes de colocar el mismo nombre.

Recuerda

No habrá ningun problema si colocas el nombre de una base de datos que esta siendo usada en el constructor newDB, ambas dbs guardaran datos por separado.

Importante

Este constructor puede usar unicamente los siguientes metodos:

  • establecer
  • obtener
  • tiene
  • eliminar
  • purgeall
  • sumar
  • restar
  • push
  • extract
  • datos
  • ordenar
  • random
  • values
  • size
  • find
  • filter
  • map
  • some

Ejemplos

//Ejemplo 1
const db = require('memvaz.utils');
let puntos = new db.memDB('niveles');
/*
Esto hará que se cree la base de datos niveles en la memoria interna
*/

Argumentos

  1. Este constructor puede loggear o hacer algo en la consola.

Importante

Este constructor esta en desarrollo, por lo que la variable Socket y DirName estaran deshabilitadas, si las usa, no funcionarán.

Ejemplos

/** 
 * @param {memconsole} MemConsole Crea la consola
 */
const MemConsole = require("memvaz.utils"); //Llamamos al npm.
const memconsole = require("memvaz.utils/console"); //Definimos la variable memconsole, esta variable se escribe automaticamente, pero si tira un error en esta linea, borrala.
const console = new memconsole({ }); //Creamos la consola.
console.send('Hola enorme terrible y abominable Mundo!'); // [00:28:46] Hola enorme y Mundo! - Azul
console.log('Hola Mundo'); // [00:28:46] Hola Mundo - Azul
console.warn('Hola Peligroso Mundo'); // [00:28:46] Hola Peligroso Mundo - Amarillo
console.debug('Hola problematico mundo'); // [00:28:46] Hola problematico mundo - Celeste
console.err('Hola Erroneo Mundo'); // [00:28:46] Hola Erroneo Mundo - Rojo
console.error('Hola alias de Erroneo Mundo'); // [00:28:46] Hola alias de Erroneo Mundo - Rojo
console.success('Hola exitoso mundo'); // [00:28:46] Hola exitoso mundo - Verde
console.trace('Hola guiado mundo'); // Trace: [00:28:46] Hola guiado mundo at... - Fondo rojo / Amarillo
console.fatalError(new Error('Errores graves').stack); // [00:28:46] Error: Errores graves - Fondo rojo / Amarillo
console.group("Hola Agrupado Mundo!") // [00:28:46] Hola Agrupado mundo - Magenta

Argumentos

  1. Este constructor cambia los minutos/horas/segundos en milisengudos

Ejemplos

const ms = require('memvaz.utils');

//Tiempo a milisegundos
console.log(ms.segundos(1)); //1 segundo a milisegundos = 1000 milisegundos
console.log(ms.minutos(1)); //1 minuto a milisegundos = 60000 milisegundos.
console.log(ms.horas(1)); //1 hora a milisegundos = 3600000 milisegundos.
console.log(ms.dias(1)); //1 dia a milisegundos = 86400000 milisegundos.
console.log(ms.semanas(1)); //1 semana a milisegundos = 604800000 milisegundos.
console.log(ms.meses(1)); //1 mes a milisegundos = 2.6280E+9 milisegundos.
console.log(ms.años(1)); //1 año a milisegundos = 3.1536E+10 milisegundos.

// Milisegundos a tiempo.
console.log(ms.ms((3.1536E+10 * 2) + 2.6280E+9 + (604800000 * 3) + (86400000 * 10))) // 2yy, 2 mm, 13 h, 59m, 59s

// Milisegundos a fecha y hora.
console.log(ms.date(Date.now())) // Will show the current date as dd/mm/yy, hour:min

Argumentos

  1. Para cualquier img se usara el método: get

Recuerda

Respeta las mayúsculas y minúsculas ya que puede que salgan errores

Importante

Este constructor puede usar unicamente los siguientes metodos:

  • getDog
  • getFox
  • getCat
  • getPanda
  • getMeme
  • getHug
  • getSmoke
  • getKoala

Ejemplos

// Ejemplo de todos los constructores:

//Nota: El evento o emmiter debe estar en una función asíncrona.

/** 
 * @declare module memvaz.db => Declaramos el modulo
 * 
 * @async funtion()
 * 
 * @function get
 * 
 * @returns Link de la imágen
 * 
 * @example:
*/

const memvaz = require("memvaz.utils") //Llamamos al npm.
        let imgDog = await memvaz.getDog() //Obtenemos la img del perro.
        let imgFox = await memvaz.getFox() //Obtenemos la img del zorro.
        let imgCat = await memvaz.getCat() //Obtenemos la img del gato.
        let imgPanda = await memvaz.getPanda() //Obtenemos la img del panda.
        let imgMeme = await memvaz.getMeme() //Obtenemos un meme random.
        let imgHug = await memvaz.getHug() //Obtenemos la img de hug.
        let imgSmoke = await memvaz.getSmoke() //Obtenemos la img smoke.
        let imgKoala = await memvaz.getKoala() //Obtenemos la img del koala.
        
    











        

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 8.0.9
    2
    • latest

Version History

Package Sidebar

Install

npm i memvaz.utils

Weekly Downloads

1

Version

8.0.9

License

ISC

Unpacked Size

2.02 MB

Total Files

251

Last publish

Collaborators

  • unknownvaz-13