initialize static method

Future<void> initialize(
  1. SyncConfig provider, {
  2. List<IDownloadStrategy>? downloadStrategies,
})

Inicializa o sistema de sincronização com um SyncConfig

provider - Configuração do sistema de sincronização downloadStrategies - Lista de estratégias de download (opcional, se não fornecida usa as do SyncConfig)

Implementation

static Future<void> initialize(
  SyncConfig provider, {
  List<IDownloadStrategy>? downloadStrategies,
}) async {
  if (_isInitialized) {
    _defaultLogger.info('SyncInitializer já foi inicializado',
        category: 'SyncInitializer');
    return;
  }

  try {
    // Armazena o provider
    _provider = provider;
    _defaultLogger.info('SyncConfig configurado com sucesso',
        category: 'SyncInitializer');

    // Configura o tema se fornecido
    if (provider.theme != null) {
      SyncThemeProvider.setTheme(provider.theme!);
    }

    // Inicializa o SyncConfigurator com o provider
    SyncConfigurator.initialize(provider: provider, downloadStrategies: downloadStrategies);
    _defaultLogger.info('SyncConfigurator inicializado com sucesso',
        category: 'SyncInitializer');

    _isInitialized = true;
    _defaultLogger.info('SyncInitializer inicializado com sucesso',
        category: 'SyncInitializer');
  } catch (e, stackTrace) {
    _defaultLogger.error(
      'Erro ao inicializar SyncInitializer: $e',
      category: 'SyncInitializer',
      exception: e,
      stackTrace: stackTrace.toString(),
    );
    rethrow;
  }
}