Skip to content

Commit d23c39c

Browse files
committed
Use CommonDatabase type
1 parent 7b1d3f7 commit d23c39c

File tree

4 files changed

+14
-11
lines changed

4 files changed

+14
-11
lines changed

lib/src/common/isolate_connection_factory.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import 'dart:async';
2-
import 'package:sqlite_async/sqlite3.dart';
3-
import 'package:sqlite_async/sqlite3_common.dart' as sqlite;
2+
import 'package:sqlite_async/sqlite3_common.dart';
43
import 'package:sqlite_async/src/common/mutex.dart';
54
import 'package:sqlite_async/src/common/abstract_open_factory.dart';
65
import 'package:sqlite_async/src/impl/isolate_connection_factory_impl.dart';
76
import 'package:sqlite_async/src/sqlite_connection.dart';
87
import 'port_channel.dart';
98

10-
mixin IsolateOpenFactoryMixin<Database extends sqlite.CommonDatabase> {
9+
mixin IsolateOpenFactoryMixin<Database extends CommonDatabase> {
1110
AbstractDefaultSqliteOpenFactory<Database> get openFactory;
1211

1312
/// Opens a synchronous sqlite.Database directly in the current isolate.
@@ -24,8 +23,8 @@ mixin IsolateOpenFactoryMixin<Database extends sqlite.CommonDatabase> {
2423
}
2524

2625
/// A connection factory that can be passed to different isolates.
27-
abstract class IsolateConnectionFactory<Database extends sqlite.CommonDatabase>
28-
with IsolateOpenFactoryMixin<Database> {
26+
abstract class IsolateConnectionFactory<Database extends CommonDatabase>
27+
with IsolateOpenFactoryMixin {
2928
Mutex get mutex;
3029

3130
SerializedPortClient get upstreamPort;

lib/src/impl/stub_isolate_connection_factory.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import 'dart:async';
22

3-
import 'package:sqlite3/sqlite3.dart' as sqlite;
3+
import 'package:sqlite_async/sqlite3_common.dart';
44
import 'package:sqlite_async/src/common/isolate_connection_factory.dart';
55
import 'package:sqlite_async/src/common/mutex.dart';
66
import 'package:sqlite_async/src/common/abstract_open_factory.dart';
77
import 'package:sqlite_async/src/common/port_channel.dart';
88
import 'package:sqlite_async/src/sqlite_connection.dart';
99

1010
/// A connection factory that can be passed to different isolates.
11-
class IsolateConnectionFactoryImpl implements IsolateConnectionFactory {
11+
class IsolateConnectionFactoryImpl<Database extends CommonDatabase>
12+
implements IsolateConnectionFactory<Database> {
1213
@override
1314
AbstractDefaultSqliteOpenFactory openFactory;
1415

@@ -34,7 +35,7 @@ class IsolateConnectionFactoryImpl implements IsolateConnectionFactory {
3435
/// 2. Other connections are not notified of any updates to tables made within
3536
/// this connection.
3637
@override
37-
Future<sqlite.Database> openRawDatabase({bool readOnly = false}) async {
38+
Future<Database> openRawDatabase({bool readOnly = false}) async {
3839
throw UnimplementedError();
3940
}
4041

lib/src/native/native_sqlite_open_factory.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:sqlite_async/sqlite3.dart' as sqlite;
2+
import 'package:sqlite_async/sqlite3_common.dart';
23

34
import 'package:sqlite_async/src/common/abstract_open_factory.dart';
45
import 'package:sqlite_async/src/native/database/native_sqlite_connection_impl.dart';
@@ -12,7 +13,7 @@ class DefaultSqliteOpenFactory extends AbstractDefaultSqliteOpenFactory {
1213
super.sqliteOptions = const SqliteOptions.defaults()});
1314

1415
@override
15-
sqlite.Database openDB(SqliteOpenOptions options) {
16+
CommonDatabase openDB(SqliteOpenOptions options) {
1617
final mode = options.openMode;
1718
var db = sqlite.sqlite3.open(path, mode: mode, mutex: false);
1819
return db;

lib/src/sqlite_connection.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import 'dart:async';
22

33
import 'package:sqlite3/common.dart' as sqlite;
4+
import 'package:sqlite_async/sqlite3_common.dart';
45
import 'package:sqlite_async/src/update_notification.dart';
56

67
/// Abstract class representing calls available in a read-only or read-write context.
7-
abstract class SqliteReadContext<Database extends sqlite.CommonDatabase> {
8+
abstract class SqliteReadContext {
89
/// Execute a read-only (SELECT) query and return the results.
910
Future<sqlite.ResultSet> getAll(String sql,
1011
[List<Object?> parameters = const []]);
@@ -57,7 +58,8 @@ abstract class SqliteReadContext<Database extends sqlite.CommonDatabase> {
5758
/// });
5859
/// }
5960
/// ```
60-
Future<T> computeWithDatabase<T>(Future<T> Function(Database db) compute);
61+
Future<T> computeWithDatabase<T>(
62+
Future<T> Function(CommonDatabase db) compute);
6163
}
6264

6365
/// Abstract class representing calls available in a read-write context.

0 commit comments

Comments
 (0)