loadServicesModule function

void loadServicesModule(
  1. String agentsDir
)

Loads service registrations from services.yaml files under agentsDir.

Implementation

void loadServicesModule(String agentsDir) {
  final Directory directory = Directory(agentsDir);
  if (!directory.existsSync()) {
    return;
  }

  final List<String> yamlNames = <String>['services.yaml', 'services.yml'];
  for (final String fileName in yamlNames) {
    final File file = File(
      '${directory.path}${Platform.pathSeparator}$fileName',
    );
    if (!file.existsSync()) {
      continue;
    }
    final Object? decoded = loadYamlFile(file.path);
    if (decoded is Map) {
      _registerServicesFromYamlConfig(
        decoded.map((Object? key, Object? value) => MapEntry('$key', value)),
        getServiceRegistry(),
      );
    }
  }
}