ack_firebase_ai 1.2.0 copy "ack_firebase_ai: ^1.2.0" to clipboard
ack_firebase_ai: ^1.2.0 copied to clipboard

Firebase AI (Gemini) schema converter for the Ack validation library

example/example.dart

import 'dart:convert';

import 'package:ack/ack.dart';
import 'package:ack_firebase_ai/ack_firebase_ai.dart';

void main() {
  final userSchema = Ack.object({
    'name': Ack.string().minLength(2).maxLength(50),
    'email': Ack.string().email(),
    'age': Ack.integer().min(0).max(120).optional(),
  });

  final responseJsonSchema = userSchema.toFirebaseAiResponseJsonSchema();
  print(const JsonEncoder.withIndent('  ').convert(responseJsonSchema));

  final generatedText = jsonEncode({
    'name': 'Ada Lovelace',
    'email': 'ada@example.com',
    'age': 36,
  });
  final decoded = jsonDecode(generatedText);
  final result = userSchema.safeParse(decoded);

  if (result.isOk) {
    final user = result.getOrThrow();
    print('Valid user: $user');
    return;
  }

  throw StateError(
    'Generated response did not match schema: ${result.getError()}',
  );
}
0
likes
160
points
152
downloads

Documentation

API reference

Publisher

verified publisherleoafarias.com

Weekly Downloads

Firebase AI (Gemini) schema converter for the Ack validation library

Repository (GitHub)
View/report issues
Contributing

Topics

#firebase #gemini #ai #schema #validation

License

BSD-3-Clause (license)

Dependencies

ack, flutter

More

Packages that depend on ack_firebase_ai