UNPKG

gg-express

Version:

**GG-Express** is an Express.js wrapper that enforces strong type requirements for `GET`, `POST`, `PUT`, and `DELETE` methods. It ensures that `req.query` and `req.body` follow strict structure definitions and automatically generates an `apiConnector` cla

72 lines (65 loc) 2.1 kB
import axios from "axios" import { staticRouteInterface_hotel } from "./staticRouteInterface_hotel" export class GGApi { constructor() {} get<T extends keyof staticRouteInterface_hotel["get"]>( url: T, requireParams: staticRouteInterface_hotel["get"][T]["requireParams"] ): Promise<staticRouteInterface_hotel["get"][T]["responseStructure"]> { return new Promise((resolve, reject) => { axios .get(url as string, { params: { data: requireParams } }) .then((response) => { resolve(response.data) }) .catch((error) => { reject(error) }) }) } post<T extends keyof staticRouteInterface_hotel["post"]>( url: T, requireParams: staticRouteInterface_hotel["post"][T]["requireParams"] ): Promise<staticRouteInterface_hotel["post"][T]["responseStructure"]> { return new Promise((resolve, reject) => { axios .post(url as string, { data: requireParams }) .then((response) => { resolve(response.data) }) .catch((error) => { reject(error) }) }) } put<T extends keyof staticRouteInterface_hotel["put"]>( url: T, requireParams: staticRouteInterface_hotel["put"][T]["requireParams"] ): Promise<staticRouteInterface_hotel["put"][T]["responseStructure"]> { return new Promise((resolve, reject) => { axios .put(url as string, { data: requireParams }) .then((response) => { resolve(response.data) }) .catch((error) => { reject(error) }) }) } delete<T extends keyof staticRouteInterface_hotel["delete"]>( url: T, requireParams: staticRouteInterface_hotel["delete"][T]["requireParams"] ): Promise<staticRouteInterface_hotel["delete"][T]["responseStructure"]> { return new Promise((resolve, reject) => { axios .delete(url as string, { data: { data: requireParams } }) .then((response) => { resolve(response.data) }) .catch((error) => { reject(error) }) }) } }