UNPKG

alepha

Version:

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

40 lines (35 loc) 1.5 kB
import { $module } from "alepha"; import { $bucket } from "./primitives/$bucket.ts"; import { FileStorageProvider } from "./providers/FileStorageProvider.ts"; import { MemoryFileStorageProvider } from "./providers/MemoryFileStorageProvider.ts"; import { R2FileStorageProvider } from "./providers/R2FileStorageProvider.ts"; import { S3FileStorageProvider } from "./providers/S3FileStorageProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- export * from "./errors/FileNotFoundError.ts"; export * from "./primitives/$bucket.ts"; export * from "./providers/FileStorageProvider.ts"; export * from "./providers/MemoryFileStorageProvider.ts"; export * from "./providers/R2FileStorageProvider.ts"; export * from "./providers/S3FileStorageProvider.ts"; // --------------------------------------------------------------------------------------------------------------------- export const AlephaBucket = $module({ name: "alepha.bucket", primitives: [$bucket], services: [ FileStorageProvider, MemoryFileStorageProvider, R2FileStorageProvider, ], variants: [ MemoryFileStorageProvider, R2FileStorageProvider, S3FileStorageProvider, // S3 is allowed, it's ok inside workers (s3mini = fetch) ], register: (alepha) => { alepha.with({ optional: true, provide: FileStorageProvider, use: alepha.isTest() ? MemoryFileStorageProvider : R2FileStorageProvider, }); }, });