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);
});