mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-02 01:49:51 +08:00
30 lines
798 B
TypeScript
30 lines
798 B
TypeScript
import { DynamicModule, Global, Module, Provider } from '@nestjs/common';
|
|
|
|
import { Config } from './config';
|
|
import { ConfigFactory, OVERRIDE_CONFIG_TOKEN } from './factory';
|
|
import { ConfigProvider } from './provider';
|
|
|
|
@Global()
|
|
@Module({
|
|
providers: [ConfigProvider, ConfigFactory],
|
|
exports: [ConfigProvider, ConfigFactory],
|
|
})
|
|
export class ConfigModule {
|
|
static override(overrides: DeepPartial<AppConfigSchema> = {}): DynamicModule {
|
|
const provider: Provider = {
|
|
provide: OVERRIDE_CONFIG_TOKEN,
|
|
useValue: overrides,
|
|
};
|
|
|
|
return {
|
|
global: true,
|
|
module: class ConfigOverrideModule {},
|
|
providers: [provider],
|
|
exports: [provider],
|
|
};
|
|
}
|
|
}
|
|
|
|
export { Config, ConfigFactory };
|
|
export { defineModuleConfig, type JSONSchema } from './register';
|