From 66990f9bb57ceef4019c65b150f034dde1352d76 Mon Sep 17 00:00:00 2001 From: Eric Byers Date: Thu, 14 Sep 2017 22:34:55 -0500 Subject: [PATCH 1/2] Adding type for the function instead of just Function --- types/sqs-consumer/index.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/sqs-consumer/index.d.ts b/types/sqs-consumer/index.d.ts index e567eb0211..e1d7b0168c 100644 --- a/types/sqs-consumer/index.d.ts +++ b/types/sqs-consumer/index.d.ts @@ -6,9 +6,11 @@ /// 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[]; From be2744e234f5644a71a024960a2c2f9d5a87a6d9 Mon Sep 17 00:00:00 2001 From: Eric Byers Date: Thu, 14 Sep 2017 22:54:49 -0500 Subject: [PATCH 2/2] Adding a test --- types/sqs-consumer/index.d.ts | 2 +- types/sqs-consumer/sqs-consumer-tests.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/types/sqs-consumer/index.d.ts b/types/sqs-consumer/index.d.ts index e1d7b0168c..dfc61f3933 100644 --- a/types/sqs-consumer/index.d.ts +++ b/types/sqs-consumer/index.d.ts @@ -1,6 +1,6 @@ // 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 /// 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); });