0.0.4 • Published 5 years ago
@loksly/expresshelper v0.0.4
Express Helper
Express helper is a plugin that saves logic when writing applications using express.
Installation
npm i @loksly/expresshelperUsage
import { expresshelper, ResponseHelper } from "@loksly/expresshelper";
/* ... */
app.use(expresshelper());
/* or you may customize
app.use(expresshelper({
logger: console,
enableJSONP: false;
shouldSend404onEmpty: true;
}));
*/
app.get("/api/v1/pizzas/:id", (req, res: ResponseHelper) => {
if (typeof req.params.id === "string") {
res.locals.expresshelper.promiseWrapper(pizzas.findOne(id));
} else {
res.locals.expresshelper.promiseWrapper(pizzas.find(id));
}
});
app.put("/api/v1/pizzas/:id", (req, res) => {
if (typeof req.params.id === "string") {
res.locals.expresshelper.promiseWrapper(pizzas.findOne(id));
} else {
res.locals.expresshelper.missingParameter("id");
}
});
app.listen(3000, "localhost", () => console.log("Listening on http://localhost:3000"));Now you can the expected output for your application is:
curl http://localhost:3000/pizzas # outputs the whole list of pizzas
curl http://localhost:3000/pizzas/nonexistingId # outputs 404 status code (not found error), body `{ "error": "An error has occurred", "details": "Not found" }`
curl http://localhost:3000/pizzas/existingId # outputs a single pizza element
curl -X PUT http://localhost:3000/pizzas/ # outputs 400 status code (Bad Request Error), body: `{ "error": "Missing parameter", "details": "id" }`API
callbackErrorHelper(err: any): voidcb(err: any, value: any): voidcbWithDefaultValue(defaultValue: any): (err: any) => voiderrorHelper(errCode?: number | string, defaultMessage?: undefined | string): (err: any) => voidforbiddenHelper(details: any): voidmissingParameterHelper(parametername: string): voidnotFoundHelper(): voidnotImplementedHelper(): voidokHelper(shouldSend404onEmpty?: undefined | false | true): (data: any) => voidokHelperWithDefaultValue(defaultvalue: any, statusCode?: undefined | number): (data: any) => voidpromiseWrapper(promise: Promise<any>, shouldSend404onEmpty?: undefined | false | true): voidsend(content: any, statusCode?: undefined | number): voidunauthenticatedHelper(details: any): voidunauthorizedHelper(details: any): void
For examples of usage you should check the tests.
