@webda/gcp
Version:
Webda GCP Services implementation
42 lines (41 loc) • 1.15 kB
TypeScript
import { CreateSubscriptionOptions, PubSub, Subscription } from "@google-cloud/pubsub";
import { CancelablePromise, PubSubService, ServiceParameters } from "@webda/core";
export declare class GCPPubSubParameters extends ServiceParameters {
/**
* Topic to use on GCP
*/
topic: string;
/**
* Subscription options to pass to GCP
*/
subscriptionOptions?: CreateSubscriptionOptions;
}
/***
* Implement GCP Pub/Sub
*
* Can also act as queue
*
* @WebdaModda GoogleCloudPubSub
*/
export default class GCPPubSubService<T = any, K extends GCPPubSubParameters = GCPPubSubParameters> extends PubSubService<T, K> {
pubsub: PubSub;
/**
* @override
*/
init(): Promise<this>;
/**
* @override
*/
sendMessage(event: T): Promise<void>;
size(): Promise<number>;
/**
* Get the subscription name
* @returns
*/
getSubscriptionName(): string;
/**
* @override
*/
consume(callback: (event: T) => Promise<void>, eventPrototype?: new () => T, onBind?: (subscription: Subscription) => void): CancelablePromise<void>;
}
export { GCPPubSubService };