import 'dart:async'; import 'package:drift/drift.dart'; import 'package:drift/wasm.dart'; import 'package:flutter/foundation.dart'; /// Obtains a database connection for running drift on the web. DatabaseConnection connect() { return DatabaseConnection.delayed(Future(() async { final db = await WasmDatabase.open( databaseName: 'todo-app', sqlite3Uri: Uri.parse('/sqlite3.wasm'), driftWorkerUri: Uri.parse('/drift_worker.js'), ); if (db.missingFeatures.isNotEmpty) { debugPrint('Using ${db.chosenImplementation} due to unsupported ' 'browser features: ${db.missingFeatures}'); } return db.resolvedExecutor; })); } Future validateDatabaseSchema(GeneratedDatabase database) async { // Unfortunately, validating database schemas only works for native platforms // right now. // As we also have migration tests (see the `Testing migrations` section in // the readme of this example), this is not a huge issue. }