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
TypeScript
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