Add comments to non-obvious code
This commit is contained in:
parent
7491d2aa1c
commit
0f30573180
@ -1,5 +1,12 @@
|
||||
import { Request, Response, NextFunction } from 'express';
|
||||
|
||||
/**
|
||||
* A wrapper for controller functions that return a Promise, enabling them to be used with Express
|
||||
* Without this wrapper, Promise rejections caused by an error in the controller will not be passed properly
|
||||
* to subsequent middleware layers.
|
||||
* @param fn the async controller function to be wrapped
|
||||
* @returns controller function which handles async errors correctly
|
||||
*/
|
||||
function asyncController(fn: (req: Request, res: Response, next: NextFunction) => Promise<any>) {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
Promise.resolve(fn(req, res, next))
|
||||
|
@ -1,3 +1,12 @@
|
||||
/**
|
||||
* A function to be passed to JSON.parse as a JSON reviver, in order to transform date values
|
||||
* (which don't have a native JSON representation and therefore are serialized as strings)
|
||||
* back to a JavaScript Date object.
|
||||
* This works by first checking if a string value complies with a date format
|
||||
* and then converting to a Date if and only if that's the case
|
||||
* @param name name of the JSON field to revive
|
||||
* @param value value of the JSON field to revive
|
||||
*/
|
||||
export function dateReviver(name, value) {
|
||||
if (typeof value === "string" && /^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d\d\dZ$/.test(value)) {
|
||||
return new Date(value);
|
||||
|
Loading…
Reference in New Issue
Block a user