UNPKG

alepha

Version:

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

57 lines (50 loc) 1.65 kB
import { $module } from "alepha"; import { $sms } from "./primitives/$sms.ts"; import { LocalSmsProvider } from "./providers/LocalSmsProvider.ts"; import { MemorySmsProvider } from "./providers/MemorySmsProvider.ts"; import { SmsProvider } from "./providers/SmsProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- export * from "./errors/SmsError.ts"; export * from "./primitives/$sms.ts"; export * from "./providers/LocalSmsProvider.ts"; export * from "./providers/MemorySmsProvider.ts"; export * from "./providers/SmsProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- declare module "alepha" { interface Hooks { "sms:sending": { to: string | string[]; template: string; variables: Record<string, unknown>; provider: SmsProvider; abort(): void; }; "sms:sent": { to: string | string[]; template: string; provider: SmsProvider; }; } } // --------------------------------------------------------------------------------------------------------------------- /** * SMS delivery with multiple provider support. * * **Features:** * - Send SMS with templates * - Multiple recipients * - Provider abstraction * * @module alepha.sms */ export const AlephaSms = $module({ name: "alepha.sms", primitives: [$sms], services: [SmsProvider, MemorySmsProvider, LocalSmsProvider], register: (alepha) => alepha.with({ optional: true, provide: SmsProvider, use: MemorySmsProvider, }), });