getTextCompletion method

  1. @override
Future<String?> getTextCompletion(
  1. String text
)
override

Implementation

@override
Future<String?> getTextCompletion(String text) async {
  bool initComplete = await initialize();
  if (!initComplete) {
    return Future.value(null);
  }

  Completer<String?> c = Completer();

  final gemini = Gemini.instance;

  gemini.text(text).then(
    (value) {
      UtilsCommon.log('Text completion: ${value?.content?.parts?.last.text}');
      if (value?.content?.parts?.last.text == null) {
        c.complete(null);
        return;
      }

      c.complete(value?.content?.parts?.last.text);
    },
  ).catchError(
    (e) {
      setStatusBasedOnError(e);
      c.completeError(e);
    },
  );

  return c.future;
}