File tree Expand file tree Collapse file tree 5 files changed +58
-1
lines changed Expand file tree Collapse file tree 5 files changed +58
-1
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,9 @@ import 'package:sembast/utils/value_utils.dart';
10
10
11
11
import 'enums.dart';
12
12
import 'exception.dart';
13
- import 'offline_db.dart';
13
+ import 'offline_db_stub.dart'
14
+ if (dart.library.html) 'offline_db_web.dart'
15
+ if (dart.library.io) 'offline_db_io.dart';
14
16
import 'response.dart';
15
17
16
18
class AccessTimestamp {
Original file line number Diff line number Diff line change
1
+ import 'dart:io';
2
+
3
+ import 'package:sembast/sembast.dart';
4
+ import 'package:sembast_sqflite/sembast_sqflite.dart';
5
+ import 'package:sqflite/sqflite.dart' as sqflite;
6
+ import 'package:sqflite_common_ffi/sqflite_ffi.dart';
7
+
8
+ class OfflineDatabase {
9
+ static final OfflineDatabase instance = OfflineDatabase._internal();
10
+ Database? _db;
11
+
12
+ OfflineDatabase._internal();
13
+
14
+ Future<Database > db() async {
15
+ if (_db == null) {
16
+ final factory = getDatabaseFactorySqflite(
17
+ Platform.isLinux || Platform.isWindows
18
+ ? databaseFactoryFfi
19
+ : sqflite.databaseFactory,
20
+ );
21
+ _db = await factory.openDatabase('{{ spec .title | caseLower }}.db');
22
+ }
23
+ return _db!;
24
+ }
25
+ }
Original file line number Diff line number Diff line change
1
+ import 'package:sembast/sembast.dart';
2
+
3
+ class OfflineDatabase {
4
+ static final OfflineDatabase instance = OfflineDatabase._internal();
5
+ Database? _db;
6
+
7
+ OfflineDatabase._internal();
8
+
9
+ Future<Database > db() async {
10
+ throw UnimplementedError();
11
+ }
12
+ }
Original file line number Diff line number Diff line change
1
+ import 'package:sembast/sembast.dart';
2
+ import 'package:sembast_web/sembast_web.dart';
3
+
4
+ class OfflineDatabase {
5
+ static final OfflineDatabase instance = OfflineDatabase._internal();
6
+ Database? _db;
7
+
8
+ OfflineDatabase._internal();
9
+
10
+ Future<Database > db() async {
11
+ if (_db == null) {
12
+ final factory = databaseFactoryWeb;
13
+ _db = await factory.openDatabase('{{ spec .title | caseLower }}.db');
14
+ }
15
+ return _db!;
16
+ }
17
+ }
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ dependencies:
23
23
path: ^1.8.2
24
24
sembast: ^3.4.0+6
25
25
sembast_sqflite: ^2.1.0+1
26
+ sqflite_common_ffi: ^2.2.2
26
27
sembast_web: ^2.1.0+4
27
28
sqflite: ^2.2.2
28
29
You can’t perform that action at this time.
0 commit comments