Class: ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
Defined in: packages/core/src/module-utils/configurable-module.builder.ts:51
Factory that lets you create configurable modules and provides a way to reduce the majority of dynamic module boilerplate.
Type Parameters
| Type Parameter | Default type |
|---|---|
ModuleOptions | - |
StaticMethodKey extends string | typeof DEFAULT_METHOD_KEY |
FactoryClassMethodKey extends string | typeof DEFAULT_FACTORY_CLASS_METHOD_KEY |
ExtraModuleDefinitionOptions | { } |
Constructors
Constructor
new ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>(options?, parentBuilder?): ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>;Defined in: packages/core/src/module-utils/configurable-module.builder.ts:68
Parameters
| Parameter | Type |
|---|---|
options | ConfigurableModuleBuilderOptions |
parentBuilder? | ConfigurableModuleBuilder<ModuleOptions, "register", "create", { }> |
Returns
ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
Methods
build()
build(): ConfigurableModuleHost<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>;Defined in: packages/core/src/module-utils/configurable-module.builder.ts:168
Returns an object consisting of multiple properties that lets you easily construct dynamic configurable modules. See "ConfigurableModuleHost" interface for more details.
Returns
ConfigurableModuleHost<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
setClassMethodName()
setClassMethodName<StaticMethodKey>(key): ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>;Defined in: packages/core/src/module-utils/configurable-module.builder.ts:129
Dynamic modules must expose public static methods that let you pass in configuration parameters (control the module's behavior from the outside). Some frequently used names that you may have seen in other modules are: "forRoot", "forFeature", "register", "configure".
This method "setClassMethodName" lets you specify the name of the method that will be auto-generated.
Type Parameters
| Type Parameter |
|---|
StaticMethodKey extends string |
Parameters
| Parameter | Type | Description |
|---|---|---|
key | StaticMethodKey | name of the method |
Returns
ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
setExtras()
setExtras<ExtraModuleDefinitionOptions>(extras, transformDefinition?): ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>;Defined in: packages/core/src/module-utils/configurable-module.builder.ts:100
Registers the "extras" object (a set of extra options that can be used to modify the dynamic module definition). Values you specify within the "extras" object will be used as default values (that can be overridden by module consumers).
This method also applies the so-called "module definition transform function" that takes the auto-generated dynamic module object ("DynamicModule") and the actual consumer "extras" object as input parameters. The "extras" object consists of values explicitly specified by module consumers and default values.
Type Parameters
| Type Parameter |
|---|
ExtraModuleDefinitionOptions |
Parameters
| Parameter | Type |
|---|---|
extras | ExtraModuleDefinitionOptions |
transformDefinition | (definition, extras) => DynamicModule |
Returns
ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
Example
.setExtras<{ isGlobal?: boolean }>({ isGlobal: false }, (definition, extras) =>
({ ...definition, global: extras.isGlobal })
)setFactoryMethodName()
setFactoryMethodName<FactoryClassMethodKey>(key): ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>;Defined in: packages/core/src/module-utils/configurable-module.builder.ts:151
Asynchronously configured modules (that rely on other modules, i.e. "ConfigModule") let you pass the configuration factory class that will be registered and instantiated as a provider. This provider then will be used to retrieve the module's configuration. To provide the configuration, the corresponding factory method must be implemented.
This method ("setFactoryMethodName") lets you control what method name will have to be implemented by the config factory (default is "create").
Type Parameters
| Type Parameter |
|---|
FactoryClassMethodKey extends string |
Parameters
| Parameter | Type | Description |
|---|---|---|
key | FactoryClassMethodKey | name of the method |
Returns
ConfigurableModuleBuilder<ModuleOptions, StaticMethodKey, FactoryClassMethodKey, ExtraModuleDefinitionOptions>
Properties
| Property | Modifier | Type | Default value | Defined in |
|---|---|---|---|---|
extras | protected | ExtraModuleDefinitionOptions | undefined | packages/core/src/module-utils/configurable-module.builder.ts:60 |
factoryClassMethodKey | protected | FactoryClassMethodKey | undefined | packages/core/src/module-utils/configurable-module.builder.ts:59 |
logger | readonly | Logger | undefined | packages/core/src/module-utils/configurable-module.builder.ts:66 |
options | readonly | ConfigurableModuleBuilderOptions | {} | packages/core/src/module-utils/configurable-module.builder.ts:69 |
staticMethodKey | protected | StaticMethodKey | undefined | packages/core/src/module-utils/configurable-module.builder.ts:58 |
transformModuleDefinition | protected | (definition, extraOptions) => DynamicModule | undefined | packages/core/src/module-utils/configurable-module.builder.ts:61 |