trypost
v1.0.2
Published
Modularizar tipos de verificación de datos y errores
Downloads
3
Readme
trypost
Facil es la modularizacion de tipos y errores en node js si usas trypost. No solamente modularizacion, si no tambien verificacion de datos en el Frontend. Si quieres saber a que me refiero, vamos a tener que instalarlo primero.
Instalación
$ npm install trypost
una vez instalado vamos a ver su uso.
Uso en el Frontend y el Backend
Backend
const express = require("express");
const app = express();
const trypost = require("trypost");
const {Username, Email, Password} = require("trypost-types");
//le pasamos app para que trypost pueda crear rutas post.
app.use(trypost(app, (post)=>{
//trypost nos devuelve el objeto post, con el que podemos
//recibir peticiones de este tipo.
//post(<path>, <types de verificacion de datos>, <manipulador>)
post("/signIn", {
email: Email,
username: Username,
password: Password,
}, (request, response, params, error)=>{
response.end("todo bien")
})
post("/add/task", null, (request, response, params, error)=>{
if(request.session.auth)
//createTask funcion ficticia
let result = createTask({
title: params.title,
description: params.description
})
if(result)
res.end("tarea agregada");
else
throw error.NO_AUTH;
})
}, {
//Este objeto que le pasamos a trypost son los errores que
//lanzamos dentro de los manipuladores.
//Ej: post(path, types, handler = (req, res, params, error)=>{
//
// throw error.NO_AUTH;
//})
NO_AUTH: {
message: 'El usuario no esta autenticado'
},
UNDEFINED: {
message: 'Ha ocurrido un error desconocido'
}
}))
Frontend
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index</title>
//scripts necessary
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="http://192.168.0.107:3000/trypost/tryaction.cs.js"></script>
</head>
<body>
<form id="form">
<input name="title" type="text" placeholder="title">
<input name="description" type="text" placeholder="description">
<button
classname="btn btn-primary"
action="/add/task"
>remove task
</button>
</form>
<script>
let form = document.getElementById("form");
tryaction(form, (action)=>{
action("/add/task", response=>{
console.log(response) //tarea agregada
})
}), {
NO_AUTH: (error)=>{
console.log(error);
}
})
</script>
</body>
</html>
Nota
trypost esta todavia en fase de dasarrollo.
Licencia
trypost se publica bajo la licencia MIT.