UNPKG

@webda/gcp

Version:

Webda GCP Services implementation

42 lines (41 loc) 1.15 kB
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 };