alepha
Version:
Easy-to-use modern TypeScript framework for building many kind of applications.
52 lines • 2 kB
TypeScript
import { Alepha, Static } from "alepha";
import { SubscribeCallback, TopicProvider, TopicPublishOptions, TopicSubscribeOptions, UnSubscribeFn } from "alepha/topic";
import { RedisProvider, RedisSubscriberProvider } from "alepha/redis";
//#region ../../src/topic/redis/providers/RedisTopicProvider.d.ts
/**
* Redis topic configuration atom.
*/
declare const redisTopicOptions: import("alepha").Atom<import("zod").ZodObject<{
prefix: import("zod").ZodString;
}, import("zod/v4/core").$strip>, "alepha.topic.redis.options">;
type RedisTopicOptions = Static<typeof redisTopicOptions.schema>;
declare module "alepha" {
interface State {
[redisTopicOptions.key]: RedisTopicOptions;
}
}
declare class RedisTopicProvider extends TopicProvider {
protected readonly options: Readonly<{
prefix: string;
}>;
protected readonly alepha: Alepha;
protected readonly redisProvider: RedisProvider;
protected readonly redisSubscriberProvider: RedisSubscriberProvider;
protected readonly log: import("alepha/logger").Logger;
protected readonly start: import("alepha").HookPrimitive<"start">;
protected wildcardChar(): string;
prefix(queue: string): string;
/**
* Publish a message to a topic.
*/
publish(topic: string, message: string, options?: TopicPublishOptions): Promise<void>;
/**
* Subscribe to a topic.
*/
subscribe(name: string, callback: SubscribeCallback, _options?: TopicSubscribeOptions): Promise<UnSubscribeFn>;
/**
* Unsubscribe from a topic.
*/
unsubscribe(name: string, callback?: SubscribeCallback): Promise<void>;
}
//#endregion
//#region ../../src/topic/redis/index.d.ts
/**
* Plugin for Alepha Topic that provides Redis pub/sub capabilities.
*
* @see {@link RedisTopicProvider}
* @module alepha.topic.redis
*/
declare const AlephaTopicRedis: import("alepha").Service<import("alepha").Module>;
//#endregion
export { AlephaTopicRedis, RedisTopicOptions, RedisTopicProvider, redisTopicOptions };
//# sourceMappingURL=index.d.ts.map