UNPKG

nestjs-appwrite

Version:

Easier Appwrite integration for your NestJS application.

32 lines (27 loc) 997 B
import { DynamicModule, flatten, Module } from '@nestjs/common'; import { AsyncModelFactory } from './interface/async-model-factory.interface'; import { createAppwriteAsyncProviders } from './appwrite.providers'; import { AppwriteModuleOptions } from './interface/appwrite-module-options.interface'; import { AppwriteCoreModule } from './appwrite-core.module'; @Module({}) export class AppwriteModule { static forRoot(options: AppwriteModuleOptions): DynamicModule { return { module: AppwriteModule, imports: [AppwriteCoreModule.forRoot(options)], }; } static forFeatureAsync( factories: AsyncModelFactory[] = [], ): DynamicModule { const providers = createAppwriteAsyncProviders(factories); const imports = factories.map((factory) => factory.imports || []); const uniqImports = new Set(flatten(imports)); return { module: AppwriteModule, imports: [...uniqImports], providers: providers, exports: providers, }; } }