mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-11 20:40:20 +00:00
[sqs-consumer] Change Consumer from interface to class (#20749)
* Change Consumer from interface to class * Fix indentation to 4 spaces * Change to single export * Make namespace and class have the same name
This commit is contained in:
committed by
Sheetal Nandi
parent
27c3a21ec4
commit
da59b8c835
Vendored
+24
-18
@@ -1,29 +1,35 @@
|
||||
// Type definitions for sqs-consumer 3.5
|
||||
// Type definitions for sqs-consumer 3.7
|
||||
// Project: https://github.com/BBC/sqs-consumer
|
||||
// Definitions by: Daniel Chao <http://dchao.co/>, Eric Byers <http://www.github.com/EricByers>
|
||||
// Definitions by: Daniel Chao <http://dchao.co/>
|
||||
// Eric Byers <http://github.com/EricByers>
|
||||
// Ezinwa Okpoechi <http://github.com/BrainMaestro>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="node" />
|
||||
import { SQS } from "aws-sdk";
|
||||
|
||||
export type ConsumerDone = (error?: Error) => void;
|
||||
declare namespace Consumer {
|
||||
export type ConsumerDone = (error?: Error) => void;
|
||||
|
||||
export interface Options {
|
||||
queueUrl: string;
|
||||
handleMessage(message: SQS.Message, done: ConsumerDone): any;
|
||||
region?: string;
|
||||
attributeNames?: string[];
|
||||
messageAttributeNames?: string[];
|
||||
batchSize?: number;
|
||||
visibilityTimeout?: number;
|
||||
waitTimeSeconds?: number;
|
||||
authenticationErrorTimeout?: number;
|
||||
sqs?: SQS;
|
||||
export interface Options {
|
||||
queueUrl: string;
|
||||
handleMessage(message: SQS.Message, done: ConsumerDone): any;
|
||||
region?: string;
|
||||
attributeNames?: string[];
|
||||
messageAttributeNames?: string[];
|
||||
batchSize?: number;
|
||||
visibilityTimeout?: number;
|
||||
waitTimeSeconds?: number;
|
||||
authenticationErrorTimeout?: number;
|
||||
sqs?: SQS;
|
||||
}
|
||||
}
|
||||
|
||||
export interface Consumer extends NodeJS.EventEmitter {
|
||||
start(): void;
|
||||
stop(): void;
|
||||
declare class Consumer extends NodeJS.EventEmitter {
|
||||
constructor(options: Consumer.Options);
|
||||
start(): void;
|
||||
stop(): void;
|
||||
static create(options: Consumer.Options): Consumer;
|
||||
}
|
||||
|
||||
export function create(opts: Options): Consumer;
|
||||
export = Consumer;
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
import * as Consumer from "sqs-consumer";
|
||||
import Consumer = require("sqs-consumer");
|
||||
import { SQS } from "aws-sdk";
|
||||
|
||||
const app = Consumer.create({
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage(message, done) {
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage(message, done) {
|
||||
// do some work with `message`
|
||||
done();
|
||||
}
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
const app2 = Consumer.create({
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage(message, done) {
|
||||
done();
|
||||
},
|
||||
region: "us-west-1",
|
||||
batchSize: 15,
|
||||
visibilityTimeout: 50,
|
||||
waitTimeSeconds: 50
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage(message, done) {
|
||||
done();
|
||||
},
|
||||
region: "us-west-1",
|
||||
batchSize: 15,
|
||||
visibilityTimeout: 50,
|
||||
waitTimeSeconds: 50
|
||||
});
|
||||
|
||||
// Test message handler.
|
||||
@@ -30,8 +30,13 @@ const app3 = Consumer.create({
|
||||
handleMessage
|
||||
});
|
||||
|
||||
const app4 = new Consumer({
|
||||
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
|
||||
handleMessage
|
||||
});
|
||||
|
||||
app.on('error', (err: any) => {
|
||||
console.log(err.message);
|
||||
console.log(err.message);
|
||||
});
|
||||
|
||||
app.start();
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"rules": {
|
||||
// TODOs
|
||||
"ban-types": false,
|
||||
"dt-header": false
|
||||
"dt-header": false,
|
||||
"strict-export-declare-modifiers": false
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user