UNPKG

@multicloud/sls-aws

Version:

Amazon AWS specific middleware and components for Serverless @multicloud.

30 lines (29 loc) 1.43 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const __1 = require(".."); /** * Normalizes SQS messages into a generic records array */ exports.KinesisMiddleware = () => (context, next) => __awaiter(this, void 0, void 0, function* () { if (context instanceof __1.AwsContext) { const records = context.runtime.event.Records.map((message) => ({ id: message.eventID, body: message.kinesis.data, sequenceNumber: message.kinesis.sequenceNumber, partitionKey: message.kinesis.partitionKey, timestamp: new Date(message.kinesis.approximateArrivalTimestamp), eventSource: "aws:kinesis", eventSourceARN: message.kinesis.eventSourceARN })); context.event = { records }; } yield next(); });