ponshu-room-lite/lib/providers/gemini_provider.dart

20 lines
903 B
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../services/gemini_service.dart';
/// GeminiService のシングルトンプロバイダー
///
/// アプリ全体で同一インスタンスを共有し、依存関係の注入を明示化する。
/// レート制限の状態_lastApiCallTimeは GeminiService の static フィールドの
/// ため、Provider を経由しなくても共有される。しかし Provider を通じて注入する
/// ことで「誰が GeminiService を使うか」を追跡可能にし、将来の static 除去時に
/// 安全にリファクタリングできる設計を維持する。
///
/// 使用例:
/// ```dart
/// final geminiService = ref.read(geminiServiceProvider);
/// final result = await geminiService.analyzeSakeLabel(paths);
/// ```
final geminiServiceProvider = Provider<GeminiService>((ref) {
return GeminiService();
});