1.0.2 • Published 3 years ago

trypost v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

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.