UNPKG

alepha

Version:

Alepha is a convention-driven TypeScript framework for building robust, end-to-end type-safe applications, from serverless APIs to full-stack React apps.

82 lines (81 loc) 2.76 kB
import * as _alepha_core3 from "alepha"; import { Alepha, Static } from "alepha"; import * as _alepha_logger0 from "alepha/logger"; import { RedisClientType, SetOptions, createClient } from "@redis/client"; //#region src/providers/RedisProvider.d.ts declare const envSchema: _alepha_core3.TObject<{ REDIS_PORT: _alepha_core3.TInteger; REDIS_HOST: _alepha_core3.TString; REDIS_PASSWORD: _alepha_core3.TOptional<_alepha_core3.TString>; }>; declare module "alepha" { interface Env extends Partial<Static<typeof envSchema>> {} } type RedisClient = RedisClientType<{}, {}, {}, 3, { 36: BufferConstructor; }>; type RedisClientOptions = Parameters<typeof createClient>[0]; type RedisSetOptions = SetOptions; /** * Redis client provider. */ declare class RedisProvider { protected readonly log: _alepha_logger0.Logger; protected readonly alepha: Alepha; protected readonly env: { REDIS_PASSWORD?: string | undefined; REDIS_PORT: number; REDIS_HOST: string; }; protected readonly client: RedisClient; get publisher(): RedisClient; protected readonly start: _alepha_core3.HookDescriptor<"start">; protected readonly stop: _alepha_core3.HookDescriptor<"stop">; /** * Connect to the Redis server. */ connect(): Promise<void>; /** * Close the connection to the Redis server. */ close(): Promise<void>; duplicate(options?: Partial<RedisClientOptions>): RedisClient; get(key: string): Promise<Buffer | undefined>; set(key: string, value: Buffer | string, options?: RedisSetOptions): Promise<Buffer>; has(key: string): Promise<boolean>; keys(pattern: string): Promise<string[]>; del(keys: string[]): Promise<void>; /** * Redis subscriber client factory method. */ protected createClient(): RedisClient; } //#endregion //#region src/providers/RedisSubscriberProvider.d.ts declare class RedisSubscriberProvider { protected readonly log: _alepha_logger0.Logger; protected readonly alepha: Alepha; protected readonly redisProvider: RedisProvider; protected readonly client: RedisClient; get subscriber(): RedisClient; protected readonly start: _alepha_core3.HookDescriptor<"start">; protected readonly stop: _alepha_core3.HookDescriptor<"stop">; connect(): Promise<void>; close(): Promise<void>; /** * Redis subscriber client factory method. */ protected createClient(): RedisClient; } //#endregion //#region src/index.d.ts /** * Redis client provider for Alepha applications. * * @see {@link RedisProvider} * @module alepha.redis */ declare const AlephaRedis: _alepha_core3.Service<_alepha_core3.Module>; //#endregion export { AlephaRedis, RedisClient, RedisClientOptions, RedisProvider, RedisSetOptions, RedisSubscriberProvider }; //# sourceMappingURL=index.d.ts.map