mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 19:09:18 +08:00
Add sqs-consumer typings (#9277)
* add sqs-consumer typings * add explicit any * use site url * Rename sqs-consumer-test.ts to sqs-consumer-tests.ts
This commit is contained in:
28
sqs-consumer/sqs-consumer-tests.ts
Normal file
28
sqs-consumer/sqs-consumer-tests.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
/// <reference path="./sqs-consumer.d.ts"/>
|
||||
|
||||
import * as Consumer from "sqs-consumer";
|
||||
|
||||
var app = Consumer.create({
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage: function (message, done) {
|
||||
// do some work with `message`
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
var app2 = Consumer.create({
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage: function(message, done){
|
||||
done();
|
||||
},
|
||||
region: "us-west-1",
|
||||
batchSize: 15,
|
||||
visibilityTimeout: 50,
|
||||
waitTimeSeconds: 50
|
||||
});
|
||||
|
||||
app.on('error', function (err: any) {
|
||||
console.log(err.message);
|
||||
});
|
||||
|
||||
app.start();
|
||||
43
sqs-consumer/sqs-consumer.d.ts
vendored
Normal file
43
sqs-consumer/sqs-consumer.d.ts
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
// Type definitions for sqs-consumer
|
||||
// Project: https://github.com/BBC/sqs-consumer
|
||||
// Definitions by: Daniel Chao <http://dchao.co/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
///<reference path="../aws-sdk/aws-sdk.d.ts"/>
|
||||
|
||||
declare module "sqs-consumer" {
|
||||
|
||||
import { SQS } from "aws-sdk";
|
||||
|
||||
module SQSConsumer {
|
||||
|
||||
interface MessageHandler {
|
||||
(message: SQS.Message, done: Function): any;
|
||||
}
|
||||
|
||||
interface ConsumerOpts {
|
||||
queueUrl: string;
|
||||
handleMessage: MessageHandler;
|
||||
region?: string;
|
||||
attributeNames?: string[];
|
||||
messageAttributeNames?: string[];
|
||||
batchSize?: number;
|
||||
visibilityTimeout?: number;
|
||||
waitTimeSeconds?: number;
|
||||
authenticationErrorTimeout?: number;
|
||||
sqs?: SQS;
|
||||
}
|
||||
|
||||
interface Consumer extends NodeJS.EventEmitter {
|
||||
start (): void;
|
||||
stop (): void;
|
||||
}
|
||||
|
||||
interface ConsumerFactory {
|
||||
create(opts: ConsumerOpts): Consumer;
|
||||
}
|
||||
}
|
||||
const Consumer: SQSConsumer.ConsumerFactory;
|
||||
export = Consumer;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user