UNPKG

@faceteer/cdk

Version:

CDK 2.0 constructs and helpers that make composing a Lambda powered service easier.

25 lines (24 loc) 751 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventHandler = EventHandler; const handler_1 = require("./handler"); function EventHandler(options, handler) { const { validator, ...definition } = options; const wrappedHandler = async (event, context) => { try { const validDetail = validator(event); if (!validDetail) { throw new Error('Invalid event detail'); } await handler(validDetail, context); } catch (error) { console.error(error); return; } }; return Object.assign(wrappedHandler, { type: handler_1.HandlerTypes.Event, definition: definition, }); }