registerFeature method

Future<void> registerFeature(
  1. Feature feature
)

Registers the provided feature with the registry.

Implementation

Future<void> registerFeature(Feature feature) async {
  late final FeatureConfig? config;
  try {
    if (feature.configDeserializer != null) {
      config = feature.configDeserializer!(
        await _loader(feature.name),
      );
    } else {
      config = null;
    }
  } catch (error, stackTrace) {
    _logger.severe(
      'Failed to load and parse configuration '
      'for feature "${feature.name}".',
      error,
      stackTrace,
    );
  }
  await feature.initialize(config, _features);
  _features[feature.name] = feature;
}