UNPKG

alepha

Version:

Easy-to-use modern TypeScript framework for building many kind of applications.

64 lines (59 loc) 2.03 kB
import { $module, type Alepha } from "alepha"; import { BunRedisProvider } from "./providers/BunRedisProvider.ts"; import { BunRedisSubscriberProvider } from "./providers/BunRedisSubscriberProvider.ts"; import { NodeRedisProvider } from "./providers/NodeRedisProvider.ts"; import { NodeRedisSubscriberProvider } from "./providers/NodeRedisSubscriberProvider.ts"; import { RedisProvider } from "./providers/RedisProvider.ts"; import { RedisSubscriberProvider } from "./providers/RedisSubscriberProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- export * from "./providers/BunRedisProvider.ts"; export * from "./providers/BunRedisSubscriberProvider.ts"; export * from "./providers/NodeRedisProvider.ts"; export * from "./providers/NodeRedisSubscriberProvider.ts"; export * from "./providers/RedisProvider.ts"; export * from "./providers/RedisSubscriberProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- /** * Redis client wrapper. * * **Features:** * - Connection pooling * - Automatic reconnection * - Command pipelining * - Pub/sub support * * @module alepha.redis */ export const AlephaRedis = $module({ name: "alepha.redis", services: [RedisProvider, RedisSubscriberProvider], variants: [ NodeRedisProvider, NodeRedisSubscriberProvider, BunRedisProvider, BunRedisSubscriberProvider, ], register: (alepha: Alepha) => { if (alepha.isBun()) { alepha .with({ provide: RedisProvider, use: BunRedisProvider, }) .with({ provide: RedisSubscriberProvider, use: BunRedisSubscriberProvider, }); } else { alepha .with({ provide: RedisProvider, use: NodeRedisProvider, }) .with({ provide: RedisSubscriberProvider, use: NodeRedisSubscriberProvider, }); } }, });