dangerousReplaceConfig function

void dangerousReplaceConfig(
  1. 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;
  }
}