serverless-offline-sns
Version:
Serverless plugin to run a local SNS server and call lambdas with events notifications.
41 lines (32 loc) • 815 B
text/typescript
import { setEvent, setPongs, setResult } from "./mock.state.js";
let nPongs = 0;
export const resetPongs = () => {
nPongs = 0;
setPongs(0);
};
export const pongHandler = (evt, ctx, cb) => {
nPongs += 1;
setPongs(nPongs);
setEvent(evt);
cb(null, "{}");
};
export const envHandler = (evt, ctx, cb) => {
setResult(process.env["MY_VAR"]);
cb(null, "{}");
};
export const pseudoHandler = (evt, ctx, cb) => {
setResult(evt.Records[0].Sns.TopicArn);
cb(null, "{}");
};
export const asyncHandler = async (evt, ctx) => {
await new Promise((res) => setTimeout(res, 100));
setResult(evt.Records[0].Sns.TopicArn);
return "{}";
};
const defaultExportHandler = (evt, ctx, cb) => {
nPongs += 1;
setPongs(nPongs);
setEvent(evt);
cb(null, "{}");
};
export default { defaultExportHandler };