diff --git a/types/sqs-consumer/index.d.ts b/types/sqs-consumer/index.d.ts index e567eb0211..dfc61f3933 100644 --- a/types/sqs-consumer/index.d.ts +++ b/types/sqs-consumer/index.d.ts @@ -1,14 +1,16 @@ // Type definitions for sqs-consumer 3.5 // Project: https://github.com/BBC/sqs-consumer -// Definitions by: Daniel Chao +// Definitions by: Daniel Chao , Eric Byers // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// import { SQS } from "aws-sdk"; +export type ConsumerDone = (error?: Error) => void; + export interface Options { queueUrl: string; - handleMessage(message: SQS.Message, done: Function): any; + handleMessage(message: SQS.Message, done: ConsumerDone): any; region?: string; attributeNames?: string[]; messageAttributeNames?: string[]; diff --git a/types/sqs-consumer/sqs-consumer-tests.ts b/types/sqs-consumer/sqs-consumer-tests.ts index 7b7ba94530..b76c5116ba 100644 --- a/types/sqs-consumer/sqs-consumer-tests.ts +++ b/types/sqs-consumer/sqs-consumer-tests.ts @@ -1,4 +1,5 @@ import * as Consumer from "sqs-consumer"; +import { SQS } from "aws-sdk"; const app = Consumer.create({ queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name', @@ -19,6 +20,16 @@ const app2 = Consumer.create({ waitTimeSeconds: 50 }); +// Test message handler. +const handleMessage = (message: SQS.Message, done: Consumer.ConsumerDone) => { + done(); +}; + +const app3 = Consumer.create({ + queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name', + handleMessage +}); + app.on('error', (err: any) => { console.log(err.message); });