From 38493eb9f65ba2a2811ba36379ad0b897a6f6e5a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 29 Mar 2022 16:46:51 +0200 Subject: [PATCH] feat: typecheck handler to be a function --- src/event.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/event.ts b/src/event.ts index b8091895..d4773418 100644 --- a/src/event.ts +++ b/src/event.ts @@ -37,6 +37,10 @@ export function defineLazyEventHandler (factory: LazyEventHandler): EventHandler if (_resolved) { return Promise.resolve(_resolved) } if (!_promise) { _promise = Promise.resolve(factory()).then((r: any) => { + const handler = r.default || r + if (typeof handler !== 'function') { + throw new TypeError('Invalid lazy handler result. It should be a function:', handler) + } _resolved = toEventHandler(r.default || r) return _resolved }) @@ -61,6 +65,9 @@ export function toEventHandler (handler: CompatibilityEventHandler): EventHandle if (isEventHandler(handler)) { return handler } + if (typeof handler !== 'function') { + throw new TypeError('Invalid handler. It should be a function:', handler) + } return defineEventHandler((event) => { return callHandler(handler, event.req as IncomingMessage, event.res) as Promise })