cloud-red
Version:
Serverless Node-RED for your cloud integration needs
114 lines (112 loc) • 6.93 kB
JavaScript
// @ts-nocheck
;
Object.defineProperty(exports, '__esModule', { value: true });
// import * as fixtures from './fixtures';
// function getRandomEvent(): any {
// const seed = Math.floor(Math.random() * Math.floor(3));
// if (seed <= 1) {
// return fixtures.s3Event;
// } else {
// return fixtures.httpEvent;
// }
// }
var AWSEventTypes;
(function(AWSEventTypes) {
AWSEventTypes['APIGatewayEvent'] = 'APIGateway Event';
AWSEventTypes['S3Event'] = 'S3 Event';
AWSEventTypes['SNSEvent'] = 'SNS Event';
AWSEventTypes['SQSEvent'] = 'SQS Event';
AWSEventTypes['DynamoDBStreamEvent'] = 'DynamoDBStream Event';
AWSEventTypes['CognitoUserPoolEvent'] = 'CognitoUserPool Event';
AWSEventTypes['ScheduledEvent'] = 'Scheduled Event';
AWSEventTypes['Unsupported'] = 'Unsupported';
})((AWSEventTypes = exports.AWSEventTypes || (exports.AWSEventTypes = {})));
/**
* Infer the type of AWS event: AWSEventType from the given event.
* @param node: Node instance. Most likely the `awshandler`.
* @param req : AWS event that is passed from lambda in the request's header: "x-cloudred-aws".
*/
function readTypeEvent(req) {
const header = 'x-cloudred-aws';
if (header in req || header in req.body) {
let event = req[header] ? req[header].event : req.body[header].event;
if (isAPIGatewayEvent(event)) {
return AWSEventTypes.APIGatewayEvent;
}
if (isSNSEvent(event)) {
return AWSEventTypes.SNSEvent;
}
if (isSQSEvent(event)) {
return AWSEventTypes.SQSEvent;
}
if (isS3Event(event)) {
return AWSEventTypes.S3Event;
}
if (isDynamoDBStreamEvent(event)) {
return AWSEventTypes.DynamoDBStreamEvent;
}
if (isCognitoUserPoolEvent(event)) {
return AWSEventTypes.CognitoUserPoolEvent;
}
if (isScheduledEvent(event)) {
return AWSEventTypes.ScheduledEvent;
}
return AWSEventTypes.Unsupported;
} else {
return AWSEventTypes.Unsupported;
}
}
exports.readTypeEvent = readTypeEvent;
function isS3Event(event) {
return (
typeof event.Records !== 'undefined' &&
event.Records.length >= 1 &&
typeof event.Records[0].s3 !== 'undefined'
);
}
function isSNSEvent(event) {
return (
typeof event.Records !== 'undefined' &&
event.Records.length >= 1 &&
typeof event.Records[0].Sns !== 'undefined'
);
}
function isSQSEvent(event) {
return (
typeof event.Records !== 'undefined' &&
event.Records.length >= 1 &&
typeof event.Records[0].md5OfBody !== 'undefined' &&
typeof event.Records[0].messageAttributes !== 'undefined'
);
}
function isDynamoDBStreamEvent(event) {
return (
typeof event.Records !== 'undefined' &&
event.Records.length >= 1 &&
(typeof event.Records[0].dynamodb !== 'undefined' ||
typeof event.Records[0].eventID !== 'undefined' ||
typeof event.Records[0].eventVersion !== 'undefined')
);
}
function isAPIGatewayEvent(event) {
return (
typeof event.resource !== 'undefined' &&
typeof event.headers !== 'undefined' &&
typeof event.path !== 'undefined' &&
typeof event.httpMethod !== 'undefined'
);
}
function isCognitoUserPoolEvent(event) {
return (
typeof event.triggerSource !== 'undefined' &&
typeof event.userPoolId !== 'undefined'
);
}
function isScheduledEvent(event) {
return (
typeof event.source !== 'undefined' &&
typeof event.time !== 'undefined' &&
typeof event.detail !== 'undefined'
);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWxpYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MtbGliL2F3cy1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwwQ0FBMEM7QUFFMUMsbUNBQW1DO0FBQ25DLDREQUE0RDtBQUM1RCxxQkFBcUI7QUFDckIsK0JBQStCO0FBQy9CLGFBQWE7QUFDYixpQ0FBaUM7QUFDakMsTUFBTTtBQUNOLElBQUk7QUFFSixJQUFZLGFBU1g7QUFURCxXQUFZLGFBQWE7SUFDdkIscURBQXNDLENBQUE7SUFDdEMscUNBQXNCLENBQUE7SUFDdEIsdUNBQXdCLENBQUE7SUFDeEIsdUNBQXdCLENBQUE7SUFDeEIsNkRBQThDLENBQUE7SUFDOUMsK0RBQWdELENBQUE7SUFDaEQsbURBQW9DLENBQUE7SUFDcEMsNENBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVRXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBU3hCO0FBQ0Q7OztHQUdHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEdBQVE7SUFDcEMsSUFBSSxrQkFBa0IsSUFBSSxHQUFHLEVBQUU7UUFDN0IsSUFBTSxPQUFLLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQztTQUFFO1FBQ3ZFLElBQUksVUFBVSxDQUFDLE9BQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO1NBQUU7UUFDekQsSUFBSSxVQUFVLENBQUMsT0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUM7U0FBRTtRQUN6RCxJQUFJLFNBQVMsQ0FBQyxPQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUFFO1FBQ3ZELElBQUkscUJBQXFCLENBQUMsT0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFP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