dangerousReplaceConfig function
void
dangerousReplaceConfig(
- dynamic config
Replaces an existing config for testing purposes. Use with caution - bypasses normal validation.
Implementation
void dangerousReplaceConfig(dynamic config) {
if (config is! HHConfig) {
throw ArgumentError('Provided config is not of type HHConfig.');
}
if (config is HHImmutableConfig) {
// print(
// 'DEBUG dangerousReplaceConfig: Replacing HHImmutableConfig for env=${config.env}',
// );
HHImmutableConfig._instances[config.env] = config;
} else {
// print(
// 'DEBUG dangerousReplaceConfig: Replacing HHConfig for env=${config.env}, actionHooks count=${config.actionHooks.length}',
// );
// Remove existing instance first to avoid validation error
HHImmutableConfig._instances.remove(config.env);
final finalizedConfig = config.finalize();
// print(
// 'DEBUG dangerousReplaceConfig: Finalized config has ${finalizedConfig.actionHooks.length} actionHooks',
// );
// print(
// 'DEBUG dangerousReplaceConfig: preActionHooks[valueWrite] count=${finalizedConfig.preActionHooks["valueWrite"]?.length ?? 0}',
// );
HHImmutableConfig._instances[finalizedConfig.env] = finalizedConfig;
}
}