21 lines
545 B
TypeScript
21 lines
545 B
TypeScript
import { MiddlewareT } from "./types"
|
|
|
|
const pushMiddlewares = (
|
|
arr: MiddlewareT[],
|
|
element: MiddlewareT | MiddlewareT[]
|
|
): void => {
|
|
if (Array.isArray(element)) element.forEach((el) => pushMiddlewares(arr, el))
|
|
else {
|
|
if (typeof element != "function")
|
|
throw new Error("Route callback must be a function")
|
|
arr.push(element)
|
|
}
|
|
}
|
|
|
|
const logger: MiddlewareT = (req, res, next) => {
|
|
console.log(`Accessed ${req.url} from ${req.headers["user-agent"]}`) // eslint-disable-line
|
|
next()
|
|
}
|
|
|
|
export { pushMiddlewares, logger }
|