From bb74673b76fa45eb7d7ab3ab835702ada52754fe Mon Sep 17 00:00:00 2001 From: Dmytro Puzak Date: Tue, 18 Apr 2023 13:17:48 +0300 Subject: [PATCH] =?UTF-8?q?Changed=20TypeConverters=20priority.=20Exist=20?= =?UTF-8?q?TypeConverter=20performs=20first,=20=E2=80=A6=20(#740)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Changed TypeConverters priority. Exist TypeConverter performs first, even the column/model field type is a supported SQL type. * Update CI dart support version. --- .github/workflows/ci.yml | 4 +- example/lib/database.dart | 2 +- example/lib/database.g.dart | 38 ++- example/lib/main.dart | 25 +- example/lib/task.dart | 35 ++- example/lib/task_dao.dart | 4 +- example/lib/type_converter.dart | 13 + example/pubspec.lock | 273 ++++++++++------- floor/pubspec.lock | 276 +++++++++++------- floor/test/test_util/mocks.dart | 11 - floor_annotation/pubspec.lock | 5 +- .../lib/processor/entity_processor.dart | 31 +- .../lib/processor/field_processor.dart | 6 +- .../lib/processor/queryable_processor.dart | 28 +- .../lib/writer/query_method_writer.dart | 34 ++- floor_generator/pubspec.lock | 267 ++++++++++------- floor_generator/test/fakes.dart | 58 ++++ tool/format.sh | 4 +- 18 files changed, 714 insertions(+), 400 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f18bdca..74b05224 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: timeout-minutes: 10 container: - image: dart:2.18.3 + image: dart:2.19.3 steps: - name: Check out code @@ -35,7 +35,7 @@ jobs: timeout-minutes: 10 container: - image: dart:2.18.3 + image: dart:2.19.3 steps: - name: Check out code diff --git a/example/lib/database.dart b/example/lib/database.dart index f0d78a3f..037973f8 100644 --- a/example/lib/database.dart +++ b/example/lib/database.dart @@ -9,7 +9,7 @@ import 'package:sqflite/sqflite.dart' as sqflite; part 'database.g.dart'; @Database(version: 1, entities: [Task]) -@TypeConverters([DateTimeConverter]) +@TypeConverters([DateTimeConverter, TaskTypeConverter]) abstract class FlutterDatabase extends FloorDatabase { TaskDao get taskDao; } diff --git a/example/lib/database.g.dart b/example/lib/database.g.dart index 4d0edabc..3444a57e 100644 --- a/example/lib/database.g.dart +++ b/example/lib/database.g.dart @@ -85,7 +85,7 @@ class _$FlutterDatabase extends FlutterDatabase { }, onCreate: (database, version) async { await database.execute( - 'CREATE TABLE IF NOT EXISTS `Task` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` TEXT NOT NULL, `isRead` INTEGER, `timestamp` INTEGER NOT NULL, `type` INTEGER)'); + 'CREATE TABLE IF NOT EXISTS `Task` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` TEXT NOT NULL, `isRead` INTEGER, `timestamp` INTEGER NOT NULL, `status` INTEGER, `type` TEXT)'); await callback?.onCreate?.call(database, version); }, @@ -112,7 +112,8 @@ class _$TaskDao extends TaskDao { 'message': item.message, 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'type': item.type?.index + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type) }, changeListener), _taskUpdateAdapter = UpdateAdapter( @@ -124,7 +125,8 @@ class _$TaskDao extends TaskDao { 'message': item.message, 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'type': item.type?.index + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type) }, changeListener), _taskDeletionAdapter = DeletionAdapter( @@ -136,7 +138,8 @@ class _$TaskDao extends TaskDao { 'message': item.message, 'isRead': item.isRead == null ? null : (item.isRead! ? 1 : 0), 'timestamp': _dateTimeConverter.encode(item.timestamp), - 'type': item.type?.index + 'status': item.status?.index, + 'type': _taskTypeConverter.encode(item.type) }, changeListener); @@ -160,7 +163,10 @@ class _$TaskDao extends TaskDao { row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, _dateTimeConverter.decode(row['timestamp'] as int), - row['type'] == null ? null : TaskType.values[row['type'] as int]), + row['status'] == null + ? null + : TaskStatus.values[row['status'] as int], + _taskTypeConverter.decode(row['type'] as String?)), arguments: [id]); } @@ -172,7 +178,10 @@ class _$TaskDao extends TaskDao { row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, _dateTimeConverter.decode(row['timestamp'] as int), - row['type'] == null ? null : TaskType.values[row['type'] as int])); + row['status'] == null + ? null + : TaskStatus.values[row['status'] as int], + _taskTypeConverter.decode(row['type'] as String?))); } @override @@ -183,7 +192,10 @@ class _$TaskDao extends TaskDao { row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, _dateTimeConverter.decode(row['timestamp'] as int), - row['type'] == null ? null : TaskType.values[row['type'] as int]), + row['status'] == null + ? null + : TaskStatus.values[row['status'] as int], + _taskTypeConverter.decode(row['type'] as String?)), queryableName: 'task', isView: false); } @@ -197,15 +209,18 @@ class _$TaskDao extends TaskDao { } @override - Stream> findAllTasksByTypeAsStream(TaskType type) { - return _queryAdapter.queryListStream('SELECT * FROM task WHERE type = ?1', + Stream> findAllTasksByStatusAsStream(TaskStatus status) { + return _queryAdapter.queryListStream('SELECT * FROM task WHERE status = ?1', mapper: (Map row) => Task( row['id'] as int?, row['isRead'] == null ? null : (row['isRead'] as int) != 0, row['message'] as String, _dateTimeConverter.decode(row['timestamp'] as int), - row['type'] == null ? null : TaskType.values[row['type'] as int]), - arguments: [type.index], + row['status'] == null + ? null + : TaskStatus.values[row['status'] as int], + _taskTypeConverter.decode(row['type'] as String?)), + arguments: [status.index], queryableName: 'task', isView: false); } @@ -243,3 +258,4 @@ class _$TaskDao extends TaskDao { // ignore_for_file: unused_element final _dateTimeConverter = DateTimeConverter(); +final _taskTypeConverter = TaskTypeConverter(); diff --git a/example/lib/main.dart b/example/lib/main.dart index 8fa4fbbf..8ebd498e 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -47,7 +47,7 @@ class TasksWidget extends StatefulWidget { } class TasksWidgetState extends State { - TaskType? _selectedType; + TaskStatus? _selectedType; @override Widget build(BuildContext context) { @@ -65,7 +65,8 @@ class TasksWidgetState extends State { PopupMenuButton( itemBuilder: (context) { return List.generate( - TaskType.values.length + 1, //Uses increment to handle All types + TaskStatus.values.length + + 1, //Uses increment to handle All types (index) { return PopupMenuItem( value: index, @@ -98,12 +99,12 @@ class TasksWidgetState extends State { ); } - TaskType _getMenuType(int index) => TaskType.values[index - 1]; + TaskStatus _getMenuType(int index) => TaskStatus.values[index - 1]; } class TasksListView extends StatelessWidget { final TaskDao dao; - final TaskType? selectedType; + final TaskStatus? selectedType; const TasksListView({ Key? key, @@ -117,7 +118,7 @@ class TasksListView extends StatelessWidget { child: StreamBuilder>( stream: selectedType == null ? dao.findAllTasksAsStream() - : dao.findAllTasksByTypeAsStream(selectedType!), + : dao.findAllTasksByStatusAsStream(selectedType!), builder: (_, snapshot) { if (!snapshot.hasData) return Container(); @@ -177,7 +178,7 @@ class TaskListCell extends StatelessWidget { direction: DismissDirection.horizontal, child: ListTile( title: Text(task.message), - subtitle: Text('Status: ${task.typeTitle}'), + subtitle: Text('Status: ${task.statusTitle}'), trailing: Text(task.timestamp.toIso8601String()), ), confirmDismiss: (direction) async { @@ -188,11 +189,13 @@ class TaskListCell extends StatelessWidget { statusMessage = 'Removed task'; break; case DismissDirection.startToEnd: - final tasksLength = TaskType.values.length; - final nextIndex = (tasksLength + task.typeIndex + 1) % tasksLength; - final taskCopy = task.copyWith(type: TaskType.values[nextIndex]); + final tasksLength = TaskStatus.values.length; + final nextIndex = + (tasksLength + task.statusIndex + 1) % tasksLength; + final taskCopy = + task.copyWith(status: TaskStatus.values[nextIndex]); await dao.updateTask(taskCopy); - statusMessage = 'Updated task status by: ${taskCopy.typeTitle}'; + statusMessage = 'Updated task status by: ${taskCopy.statusTitle}'; break; default: break; @@ -261,7 +264,7 @@ class TasksTextField extends StatelessWidget { if (message.trim().isEmpty) { _textEditingController.clear(); } else { - final task = Task.optional(message: message); + final task = Task.optional(message: message, type: TaskType.task); await dao.insertTask(task); _textEditingController.clear(); } diff --git a/example/lib/task.dart b/example/lib/task.dart index b5d90879..3a7240e9 100644 --- a/example/lib/task.dart +++ b/example/lib/task.dart @@ -1,12 +1,22 @@ import 'package:floor/floor.dart'; -enum TaskType { +enum TaskStatus { open('Open'), inProgress('In Progress'), done('Done'); final String title; + const TaskStatus(this.title); +} + +enum TaskType { + bug('Bug'), + story('Story'), + task('Task'); + + final String title; + const TaskType(this.title); } @@ -21,15 +31,25 @@ class Task { final DateTime timestamp; + final TaskStatus? status; + final TaskType? type; - Task(this.id, this.isRead, this.message, this.timestamp, this.type); + Task( + this.id, + this.isRead, + this.message, + this.timestamp, + this.status, + this.type, + ); factory Task.optional({ int? id, DateTime? timestamp, String? message, bool? isRead, + TaskStatus? status, TaskType? type, }) => Task( @@ -37,12 +57,13 @@ class Task { isRead ?? false, message ?? 'empty', timestamp ?? DateTime.now(), + status, type, ); @override String toString() { - return 'Task{id: $id, message: $message, read: $isRead, timestamp: $timestamp, type: $type}'; + return 'Task{id: $id, message: $message, read: $isRead, timestamp: $timestamp, status: $status, type: $type}'; } Task copyWith({ @@ -50,6 +71,7 @@ class Task { String? message, bool? isRead, DateTime? timestamp, + TaskStatus? status, TaskType? type, }) { return Task( @@ -57,6 +79,7 @@ class Task { isRead ?? this.isRead, message ?? this.message, timestamp ?? this.timestamp, + status ?? this.status, type ?? this.type, ); } @@ -70,6 +93,7 @@ class Task { message == other.message && isRead == other.isRead && timestamp == other.timestamp && + status == other.status && type == other.type; @override @@ -78,11 +102,12 @@ class Task { message.hashCode ^ isRead.hashCode ^ timestamp.hashCode ^ + status.hashCode ^ type.hashCode; } extension TaskExtension on Task { - String get typeTitle => type?.title ?? 'Empty'; + String get statusTitle => status?.title ?? 'Empty'; - int get typeIndex => type?.index ?? 0; + int get statusIndex => status?.index ?? 0; } diff --git a/example/lib/task_dao.dart b/example/lib/task_dao.dart index 9d44e463..6113cfa4 100644 --- a/example/lib/task_dao.dart +++ b/example/lib/task_dao.dart @@ -15,8 +15,8 @@ abstract class TaskDao { @Query('SELECT DISTINCT COUNT(message) FROM task') Stream findUniqueMessagesCountAsStream(); - @Query('SELECT * FROM task WHERE type = :type') - Stream> findAllTasksByTypeAsStream(TaskType type); + @Query('SELECT * FROM task WHERE status = :status') + Stream> findAllTasksByStatusAsStream(TaskStatus status); @insert Future insertTask(Task task); diff --git a/example/lib/type_converter.dart b/example/lib/type_converter.dart index e66e614a..fc2a65aa 100644 --- a/example/lib/type_converter.dart +++ b/example/lib/type_converter.dart @@ -1,3 +1,4 @@ +import 'package:example/task.dart'; import 'package:floor/floor.dart'; class DateTimeConverter extends TypeConverter { @@ -11,3 +12,15 @@ class DateTimeConverter extends TypeConverter { return value.millisecondsSinceEpoch; } } + +class TaskTypeConverter extends TypeConverter { + @override + TaskType? decode(String? databaseValue) { + return databaseValue == null ? null : TaskType.values.byName(databaseValue); + } + + @override + String? encode(TaskType? value) { + return value?.name; + } +} diff --git a/example/pubspec.lock b/example/pubspec.lock index 72cbd451..38d3e9b3 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,177 +5,202 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: "98d1d33ed129b372846e862de23a0fc365745f4d7b5e786ce667fcbbb7ac5c07" + url: "https://pub.dev" source: hosted - version: "50.0.0" + version: "55.0.0" analyzer: dependency: "direct dev" description: name: analyzer - url: "https://pub.dartlang.org" + sha256: "881348aed9b0b425882c97732629a6a31093c8ff20fc4b3b03fb9d3d50a3a126" + url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.7.1" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440" + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777" + url: "https://pub.dev" source: hosted version: "2.3.1" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" source: hosted version: "1.1.1" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + sha256: "757153e5d9cd88253cb13f28c2fb55a537dc31fefd98137549895b5beb7c6169" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + sha256: b0a8a7b8a76c493e85f1b84bffa0588859a06197863dba8c9036b15581fd9727 + url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + sha256: "14febe0f5bac5ae474117a36099b4de6f1dbc52df6c5e55534b3da9591bf4292" + url: "https://pub.dev" source: hosted version: "7.2.7" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: "31b7c748fd4b9adf8d25d72a4c4a59ef119f12876cf414f94f8af5131d5fa2b0" + url: "https://pub.dev" source: hosted - version: "8.4.2" + version: "8.4.4" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe" + url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.4.0" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted version: "3.1.1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "5be16bf1707658e4c03078d4a9b90208ded217fb02c163e207d334082412f2fb" + url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.5" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted version: "6.1.4" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" floor: dependency: "direct main" description: @@ -211,147 +236,168 @@ packages: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" + url: "https://pub.dev" source: hosted version: "2.1.1" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: f9e130f3259f52d26f0cfc0e964513796dafed572fa52e45d2f8d6ca14db39b2 + url: "https://pub.dev" source: hosted version: "2.2.0" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted version: "0.6.5" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317 + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.8.0" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.4" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted version: "2.1.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" + url: "https://pub.dev" source: hosted version: "2.1.3" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: ec85d7d55339d85f44ec2b682a82fea340071e8978257e5a43e69f79e98ef50c + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c + url: "https://pub.dev" source: hosted version: "1.4.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8 + url: "https://pub.dev" source: hosted version: "1.0.3" sky_engine: @@ -363,149 +409,170 @@ packages: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + sha256: c2bea18c95cfa0276a366270afaa2850b09b4a76db95d546f3d003dcc7011298 + url: "https://pub.dev" source: hosted - version: "1.2.6" + version: "1.2.7" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" sqflite: dependency: transitive description: name: sqflite - url: "https://pub.dartlang.org" + sha256: "851d5040552cf911f4cabda08d003eca76b27da3ed0002978272e27c8fbf8ecc" + url: "https://pub.dev" source: hosted - version: "2.2.0+3" + version: "2.2.5" sqflite_common: dependency: transitive description: name: sqflite_common - url: "https://pub.dartlang.org" + sha256: bfd6973aaeeb93475bc0d875ac9aefddf7965ef22ce09790eb963992ffc5183f + url: "https://pub.dev" source: hosted - version: "2.4.0+2" + version: "2.4.2+2" sqflite_common_ffi: dependency: transitive description: name: sqflite_common_ffi - url: "https://pub.dartlang.org" + sha256: e435a9dcd0ca79ba6aea677468e6f7cb8859891294a8f34226685f2cf2002ea2 + url: "https://pub.dev" source: hosted - version: "2.2.0+1" + version: "2.2.1+1" sqlite3: dependency: transitive description: name: sqlite3 - url: "https://pub.dartlang.org" + sha256: db6350456720a4088a364bbe02052d43056a5ffbd4816fe9d28310dcfbe0dc05 + url: "https://pub.dev" source: hosted version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" strings: dependency: transitive description: name: strings - url: "https://pub.dartlang.org" + sha256: "5af86299505c299640f5564e187c1a2ee9d6308c540e8d65f6385f5c67019122" + url: "https://pub.dev" source: hosted version: "0.2.2" synchronized: dependency: transitive description: name: synchronized - url: "https://pub.dartlang.org" + sha256: "33b31b6beb98100bf9add464a36a8dd03eb10c7a8cf15aeec535e9b054aaf04b" + url: "https://pub.dev" source: hosted - version: "3.0.0+3" + version: "3.0.1" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + url: "https://pub.dev" source: hosted version: "1.0.2" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" + url: "https://pub.dev" source: hosted version: "3.1.1" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/floor/pubspec.lock b/floor/pubspec.lock index 736a6e25..7683effd 100644 --- a/floor/pubspec.lock +++ b/floor/pubspec.lock @@ -5,177 +5,202 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: "98d1d33ed129b372846e862de23a0fc365745f4d7b5e786ce667fcbbb7ac5c07" + url: "https://pub.dev" source: hosted - version: "50.0.0" + version: "55.0.0" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + sha256: "881348aed9b0b425882c97732629a6a31093c8ff20fc4b3b03fb9d3d50a3a126" + url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.7.1" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440" + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777" + url: "https://pub.dev" source: hosted version: "2.3.1" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" source: hosted version: "1.1.1" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + sha256: "757153e5d9cd88253cb13f28c2fb55a537dc31fefd98137549895b5beb7c6169" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + sha256: b0a8a7b8a76c493e85f1b84bffa0588859a06197863dba8c9036b15581fd9727 + url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + sha256: "14febe0f5bac5ae474117a36099b4de6f1dbc52df6c5e55534b3da9591bf4292" + url: "https://pub.dev" source: hosted version: "7.2.7" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: "31b7c748fd4b9adf8d25d72a4c4a59ef119f12876cf414f94f8af5131d5fa2b0" + url: "https://pub.dev" source: hosted - version: "8.4.2" + version: "8.4.4" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe" + url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.4.0" collection: dependency: "direct dev" description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted version: "3.1.1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "5be16bf1707658e4c03078d4a9b90208ded217fb02c163e207d334082412f2fb" + url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.5" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted version: "6.1.4" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" floor_annotation: dependency: "direct main" description: @@ -204,154 +229,176 @@ packages: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" + url: "https://pub.dev" source: hosted version: "2.1.1" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: f9e130f3259f52d26f0cfc0e964513796dafed572fa52e45d2f8d6ca14db39b2 + url: "https://pub.dev" source: hosted version: "2.2.0" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted version: "0.6.5" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317 + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.8.0" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" matcher: dependency: "direct dev" description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.4" mockito: dependency: "direct dev" description: name: mockito - url: "https://pub.dartlang.org" + sha256: "2a8a17b82b1bde04d514e75d90d634a0ac23f6cb4991f6098009dd56836aeafe" + url: "https://pub.dev" source: hosted version: "5.3.2" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted version: "2.1.0" path: dependency: "direct main" description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" + url: "https://pub.dev" source: hosted version: "2.1.3" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: ec85d7d55339d85f44ec2b682a82fea340071e8978257e5a43e69f79e98ef50c + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c + url: "https://pub.dev" source: hosted version: "1.4.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8 + url: "https://pub.dev" source: hosted version: "1.0.3" sky_engine: @@ -363,149 +410,170 @@ packages: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + sha256: c2bea18c95cfa0276a366270afaa2850b09b4a76db95d546f3d003dcc7011298 + url: "https://pub.dev" source: hosted - version: "1.2.6" + version: "1.2.7" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" sqflite: dependency: "direct main" description: name: sqflite - url: "https://pub.dartlang.org" + sha256: "851d5040552cf911f4cabda08d003eca76b27da3ed0002978272e27c8fbf8ecc" + url: "https://pub.dev" source: hosted - version: "2.2.0+3" + version: "2.2.5" sqflite_common: dependency: transitive description: name: sqflite_common - url: "https://pub.dartlang.org" + sha256: bfd6973aaeeb93475bc0d875ac9aefddf7965ef22ce09790eb963992ffc5183f + url: "https://pub.dev" source: hosted - version: "2.4.0+2" + version: "2.4.2+2" sqflite_common_ffi: dependency: "direct main" description: name: sqflite_common_ffi - url: "https://pub.dartlang.org" + sha256: e435a9dcd0ca79ba6aea677468e6f7cb8859891294a8f34226685f2cf2002ea2 + url: "https://pub.dev" source: hosted - version: "2.2.0+1" + version: "2.2.1+1" sqlite3: dependency: transitive description: name: sqlite3 - url: "https://pub.dartlang.org" + sha256: db6350456720a4088a364bbe02052d43056a5ffbd4816fe9d28310dcfbe0dc05 + url: "https://pub.dev" source: hosted version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" strings: dependency: transitive description: name: strings - url: "https://pub.dartlang.org" + sha256: "5af86299505c299640f5564e187c1a2ee9d6308c540e8d65f6385f5c67019122" + url: "https://pub.dev" source: hosted version: "0.2.2" synchronized: dependency: transitive description: name: synchronized - url: "https://pub.dartlang.org" + sha256: "33b31b6beb98100bf9add464a36a8dd03eb10c7a8cf15aeec535e9b054aaf04b" + url: "https://pub.dev" source: hosted - version: "3.0.0+3" + version: "3.0.1" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + url: "https://pub.dev" source: hosted version: "1.0.2" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" + url: "https://pub.dev" source: hosted version: "3.1.1" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.3.0" diff --git a/floor/test/test_util/mocks.dart b/floor/test/test_util/mocks.dart index ee19f529..3086faaa 100644 --- a/floor/test/test_util/mocks.dart +++ b/floor/test/test_util/mocks.dart @@ -312,17 +312,6 @@ class MockDatabase extends _i1.Mock implements _i2.Database { Invocation.method(#transaction, [action], {#exclusive: exclusive}), returnValue: Future.value(null)) as _i3.Future); - @override - _i3.Future getVersion() => - (super.noSuchMethod(Invocation.method(#getVersion, []), - returnValue: Future.value(0)) as _i3.Future); - - @override - _i3.Future setVersion(int? version) => - (super.noSuchMethod(Invocation.method(#setVersion, [version]), - returnValue: Future.value(null), - returnValueForMissingStub: Future.value()) as _i3.Future); - @override _i3.Future devInvokeMethod(String? method, [dynamic arguments]) => (super.noSuchMethod( diff --git a/floor_annotation/pubspec.lock b/floor_annotation/pubspec.lock index 179e2d9d..e0baea7b 100644 --- a/floor_annotation/pubspec.lock +++ b/floor_annotation/pubspec.lock @@ -5,8 +5,9 @@ packages: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: "12307e7f0605ce3da64cf0db90e5fcab0869f3ca03f76be6bb2991ce0a55e82b" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" sdks: dart: ">=2.12.0 <3.0.0" diff --git a/floor_generator/lib/processor/entity_processor.dart b/floor_generator/lib/processor/entity_processor.dart index db153fbd..12e96142 100644 --- a/floor_generator/lib/processor/entity_processor.dart +++ b/floor_generator/lib/processor/entity_processor.dart @@ -1,6 +1,5 @@ import 'package:analyzer/dart/constant/value.dart'; import 'package:analyzer/dart/element/element.dart'; -import 'package:analyzer/dart/element/type.dart'; import 'package:collection/collection.dart'; import 'package:floor_annotation/floor_annotation.dart' as annotations; import 'package:floor_generator/misc/constants.dart'; @@ -277,19 +276,18 @@ class EntityProcessor extends QueryableProcessor { final fieldElement = field.fieldElement; final parameterName = fieldElement.displayName; final fieldType = fieldElement.type; + final typeConverter = [...queryableTypeConverters, field.typeConverter] + .whereNotNull() + .getClosestOrNull(fieldType); String attributeValue = 'item.$parameterName'; - if (fieldType.isDartCoreBool) { + if (typeConverter != null) { + attributeValue = + '_${typeConverter.name.decapitalize()}.encode(item.$parameterName)'; + } else if (fieldType.isDartCoreBool) { attributeValue = _serializeBoolean(field, attributeValue); } else if (fieldType.isEnumType) { attributeValue = _serializeEnum(attributeValue, field); - } else if (!fieldType.isDefaultSqlType) { - attributeValue = _typeConverterSerialization( - field, - fieldType, - attributeValue, - parameterName, - ); } return attributeValue; } @@ -306,21 +304,6 @@ class EntityProcessor extends QueryableProcessor { return '$attributeValue${operator}index'; } - String _typeConverterSerialization( - Field field, - DartType fieldType, - String attributeValue, - String parameterName, - ) { - final typeConverter = [ - ...queryableTypeConverters, - field.typeConverter, - ].whereNotNull().getClosest(fieldType); - attributeValue = - '_${typeConverter.name.decapitalize()}.encode(item.$parameterName)'; - return attributeValue; - } - annotations.ForeignKeyAction _getForeignKeyAction( DartObject foreignKeyObject, String triggerName, diff --git a/floor_generator/lib/processor/field_processor.dart b/floor_generator/lib/processor/field_processor.dart index 8852401b..26015be5 100644 --- a/floor_generator/lib/processor/field_processor.dart +++ b/floor_generator/lib/processor/field_processor.dart @@ -54,10 +54,10 @@ class FieldProcessor extends Processor { String _getSqlType(final TypeConverter? typeConverter) { final type = _fieldElement.type; - if (type.isDefaultSqlType || type.isEnumType) { - return type.asSqlType(); - } else if (typeConverter != null) { + if (typeConverter != null) { return typeConverter.databaseType.asSqlType(); + } else if (type.isDefaultSqlType || type.isEnumType) { + return type.asSqlType(); } else { throw InvalidGenerationSourceError( 'Column type is not supported for $type.', diff --git a/floor_generator/lib/processor/queryable_processor.dart b/floor_generator/lib/processor/queryable_processor.dart index b6447717..e0d341c2 100644 --- a/floor_generator/lib/processor/queryable_processor.dart +++ b/floor_generator/lib/processor/queryable_processor.dart @@ -13,6 +13,7 @@ import 'package:floor_generator/value_object/field.dart'; import 'package:floor_generator/value_object/queryable.dart'; import 'package:floor_generator/value_object/type_converter.dart'; import 'package:meta/meta.dart'; +import 'package:source_gen/source_gen.dart'; abstract class QueryableProcessor extends Processor { final QueryableProcessorError _queryableProcessorError; @@ -74,16 +75,11 @@ abstract class QueryableProcessor extends Processor { String parameterValue; - if (parameterElement.type.isDefaultSqlType || - parameterElement.type.isEnumType) { - parameterValue = databaseValue.cast( - parameterElement.type, - parameterElement, - ); - } else { - final typeConverter = [...queryableTypeConverters, field.typeConverter] - .whereNotNull() - .getClosest(parameterElement.type); + final typeConverter = [...queryableTypeConverters, field.typeConverter] + .whereNotNull() + .getClosestOrNull(parameterElement.type); + + if (typeConverter != null) { final castedDatabaseValue = databaseValue.cast( typeConverter.databaseType, parameterElement, @@ -91,6 +87,18 @@ abstract class QueryableProcessor extends Processor { parameterValue = '_${typeConverter.name.decapitalize()}.decode($castedDatabaseValue)'; + } else if (parameterElement.type.isDefaultSqlType || + parameterElement.type.isEnumType) { + parameterValue = databaseValue.cast( + parameterElement.type, + parameterElement, + ); + } else { + throw InvalidGenerationSourceError( + 'Column type is not supported for ${parameterElement.type}', + todo: + 'Either use a supported type https://pinchbv.github.io/floor/entities/#supported-types or supply a type converter.', + ); } if (parameterElement.isNamed) { diff --git a/floor_generator/lib/writer/query_method_writer.dart b/floor_generator/lib/writer/query_method_writer.dart index a1a20fa6..bf7d61cc 100644 --- a/floor_generator/lib/writer/query_method_writer.dart +++ b/floor_generator/lib/writer/query_method_writer.dart @@ -13,6 +13,7 @@ import 'package:floor_generator/value_object/queryable.dart'; import 'package:floor_generator/value_object/type_converter.dart'; import 'package:floor_generator/value_object/view.dart'; import 'package:floor_generator/writer/writer.dart'; +import 'package:source_gen/source_gen.dart'; class QueryMethodWriter implements Writer { final QueryMethod _queryMethod; @@ -113,8 +114,13 @@ class QueryMethodWriter implements Writer { .map((parameter) { final type = parameter.type; final displayName = parameter.displayName; + final typeConverter = _queryMethod.typeConverters.getClosestOrNull( + type, + ); - if (type.isDartCoreBool) { + if (typeConverter != null) { + return '_${typeConverter.name.decapitalize()}.encode($displayName)'; + } else if (type.isDartCoreBool) { // query method parameters can't be null return '$displayName ? 1 : 0'; } else if (type.isEnumType) { @@ -122,8 +128,11 @@ class QueryMethodWriter implements Writer { } else if (type.isDefaultSqlType) { return displayName; } else { - final typeConverter = _queryMethod.typeConverters.getClosest(type); - return '_${typeConverter.name.decapitalize()}.encode($displayName)'; + throw InvalidGenerationSourceError( + 'Parameter type is not supported for $type', + todo: + 'Either use a supported type https://pinchbv.github.io/floor/entities/#supported-types or supply a type converter.', + ); } }), ..._queryMethod.parameters @@ -132,12 +141,19 @@ class QueryMethodWriter implements Writer { // TODO #403 what about type converters that map between e.g. string and list? final DartType flatType = parameter.type.flatten(); final displayName = parameter.displayName; - if (flatType.isDefaultSqlType || flatType.isEnumType) { + final typeConverter = _queryMethod.typeConverters.getClosestOrNull( + flatType, + ); + if (typeConverter != null) { + return '...$displayName.map((element) => _${typeConverter.name.decapitalize()}.encode(element))'; + } else if (flatType.isDefaultSqlType || flatType.isEnumType) { return '...$displayName'; } else { - final typeConverter = - _queryMethod.typeConverters.getClosest(flatType); - return '...$displayName.map((element) => _${typeConverter.name.decapitalize()}.encode(element))'; + throw InvalidGenerationSourceError( + 'Parameter type is not supported for $flatType', + todo: + 'Either use a supported type https://pinchbv.github.io/floor/entities/#supported-types or supply a type converter.', + ); } }) ]; @@ -177,10 +193,10 @@ class QueryMethodWriter implements Writer { String? mapper; if (queryable != null) { mapper = _generateMapper(queryable); - } else if (returnType.isDefaultSqlType || returnType.isEnumType) { - mapper = _generateDartCoreMapper(returnType); } else if (converter != null) { mapper = _generateConverterMapper(converter); + } else if (returnType.isDefaultSqlType || returnType.isEnumType) { + mapper = _generateDartCoreMapper(returnType); } else { throw QueryMethodWriterError(_queryMethod.methodElement) .queryMethodReturnType(); diff --git a/floor_generator/pubspec.lock b/floor_generator/pubspec.lock index e8b429d3..9e68542a 100644 --- a/floor_generator/pubspec.lock +++ b/floor_generator/pubspec.lock @@ -5,156 +5,178 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: "98d1d33ed129b372846e862de23a0fc365745f4d7b5e786ce667fcbbb7ac5c07" + url: "https://pub.dev" source: hosted - version: "50.0.0" + version: "55.0.0" analyzer: dependency: "direct main" description: name: analyzer - url: "https://pub.dartlang.org" + sha256: "881348aed9b0b425882c97732629a6a31093c8ff20fc4b3b03fb9d3d50a3a126" + url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.7.1" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440" + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted version: "2.1.1" build: dependency: "direct main" description: name: build - url: "https://pub.dartlang.org" + sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777" + url: "https://pub.dev" source: hosted version: "2.3.1" build_config: dependency: "direct main" description: name: build_config - url: "https://pub.dartlang.org" + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" source: hosted version: "1.1.1" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" build_test: dependency: "direct dev" description: name: build_test - url: "https://pub.dartlang.org" + sha256: c2297630aa9385bc92499c90637cda710df6c83a67a8e0ba7f674ae770a7202f + url: "https://pub.dev" source: hosted - version: "2.1.5" + version: "2.1.6" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: "31b7c748fd4b9adf8d25d72a4c4a59ef119f12876cf414f94f8af5131d5fa2b0" + url: "https://pub.dev" source: hosted - version: "8.4.2" + version: "8.4.4" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" code_builder: dependency: "direct main" description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe" + url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.4.0" collection: dependency: "direct main" description: name: collection - url: "https://pub.dartlang.org" + sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.17.1" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted version: "3.1.1" coverage: dependency: transitive description: name: coverage - url: "https://pub.dartlang.org" + sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" + url: "https://pub.dev" source: hosted - version: "1.6.1" + version: "1.6.3" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" csslib: dependency: transitive description: name: csslib - url: "https://pub.dartlang.org" + sha256: b36c7f7e24c0bdf1bf9a3da461c837d1de64b9f8beb190c9011d8c72a3dfd745 + url: "https://pub.dev" source: hosted version: "0.17.2" dart_style: dependency: "direct dev" description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "5be16bf1707658e4c03078d4a9b90208ded217fb02c163e207d334082412f2fb" + url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.5" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted version: "6.1.4" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" floor_annotation: dependency: "direct main" description: @@ -166,268 +188,306 @@ packages: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" + url: "https://pub.dev" source: hosted version: "2.1.1" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: f9e130f3259f52d26f0cfc0e964513796dafed572fa52e45d2f8d6ca14db39b2 + url: "https://pub.dev" source: hosted version: "2.2.0" html: dependency: transitive description: name: html - url: "https://pub.dartlang.org" + sha256: "79d498e6d6761925a34ee5ea8fa6dfef38607781d2fa91e37523474282af55cb" + url: "https://pub.dev" source: hosted - version: "0.15.1" + version: "0.15.2" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted version: "4.0.2" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.7" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317 + url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.8.0" lists: dependency: transitive description: name: lists - url: "https://pub.dartlang.org" + sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27" + url: "https://pub.dev" source: hosted version: "1.0.1" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: c94db23593b89766cda57aab9ac311e3616cf87c6fa4e9749df032f66f30dcb8 + url: "https://pub.dev" source: hosted - version: "0.12.13" + version: "0.12.14" meta: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: "12307e7f0605ce3da64cf0db90e5fcab0869f3ca03f76be6bb2991ce0a55e82b" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.4" mockito: dependency: "direct dev" description: name: mockito - url: "https://pub.dartlang.org" + sha256: "2a8a17b82b1bde04d514e75d90d634a0ac23f6cb4991f6098009dd56836aeafe" + url: "https://pub.dev" source: hosted version: "5.3.2" node_preamble: dependency: transitive description: name: node_preamble - url: "https://pub.dartlang.org" + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted version: "2.1.0" path: dependency: "direct dev" description: name: path - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted - version: "1.8.2" + version: "1.8.3" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" + url: "https://pub.dev" source: hosted version: "2.1.3" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: ec85d7d55339d85f44ec2b682a82fea340071e8978257e5a43e69f79e98ef50c + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c + url: "https://pub.dev" source: hosted version: "1.4.0" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler - url: "https://pub.dartlang.org" + sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306 + url: "https://pub.dev" source: hosted version: "3.0.1" shelf_static: dependency: transitive description: name: shelf_static - url: "https://pub.dartlang.org" + sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c + url: "https://pub.dev" source: hosted version: "1.1.1" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8 + url: "https://pub.dev" source: hosted version: "1.0.3" source_gen: dependency: "direct main" description: name: source_gen - url: "https://pub.dartlang.org" + sha256: c2bea18c95cfa0276a366270afaa2850b09b4a76db95d546f3d003dcc7011298 + url: "https://pub.dev" source: hosted - version: "1.2.6" + version: "1.2.7" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - url: "https://pub.dartlang.org" + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" source: hosted version: "2.1.1" source_maps: dependency: transitive description: name: source_maps - url: "https://pub.dartlang.org" + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" source: hosted - version: "0.10.11" + version: "0.10.12" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted version: "2.1.1" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted version: "1.2.0" strings: dependency: "direct main" description: name: strings - url: "https://pub.dartlang.org" + sha256: "5af86299505c299640f5564e187c1a2ee9d6308c540e8d65f6385f5c67019122" + url: "https://pub.dev" source: hosted version: "0.2.2" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test: dependency: "direct dev" description: name: test - url: "https://pub.dartlang.org" + sha256: "5301f54eb6fe945daa99bc8df6ece3f88b5ceaa6f996f250efdaaf63e22886be" + url: "https://pub.dev" source: hosted - version: "1.22.0" + version: "1.23.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "6182294da5abf431177fccc1ee02401f6df30f766bc6130a0852c6b6d7ee6b2d" + url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.4.18" test_core: dependency: transitive description: name: test_core - url: "https://pub.dartlang.org" + sha256: d2e9240594b409565524802b84b7b39341da36dd6fd8e1660b53ad928ec3e9af + url: "https://pub.dev" source: hosted - version: "0.4.20" + version: "0.4.24" test_cov: dependency: "direct dev" description: @@ -441,50 +501,57 @@ packages: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" unicode: dependency: transitive description: name: unicode - url: "https://pub.dartlang.org" + sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1" + url: "https://pub.dev" source: hosted version: "0.3.1" vm_service: dependency: transitive description: name: vm_service - url: "https://pub.dartlang.org" + sha256: eb3cf3f45fc1500ae30481ac9ab788302fa5e8edc3f3eaddf183945ee93a8bf3 + url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "11.2.0" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + url: "https://pub.dev" source: hosted version: "1.0.2" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: ca49c0bc209c687b887f30527fb6a9d80040b072cc2990f34b9bec3e7663101b + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - url: "https://pub.dartlang.org" + sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" + url: "https://pub.dev" source: hosted version: "1.2.0" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" + url: "https://pub.dev" source: hosted version: "3.1.1" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=2.19.0 <3.0.0" diff --git a/floor_generator/test/fakes.dart b/floor_generator/test/fakes.dart index 71a79e7f..6bfe0091 100644 --- a/floor_generator/test/fakes.dart +++ b/floor_generator/test/fakes.dart @@ -322,6 +322,56 @@ class FakeClassElement implements ClassElement { @override // TODO: implement children List get children => throw UnimplementedError(); + + @override + // TODO: implement hasReopen + bool get hasReopen => throw UnimplementedError(); + + @override + // TODO: implement isBase + bool get isBase => throw UnimplementedError(); + + @override + // TODO: implement isConstructable + bool get isConstructable => throw UnimplementedError(); + + @override + // TODO: implement isExhaustive + bool get isExhaustive => throw UnimplementedError(); + + @override + bool isExtendableIn(LibraryElement library) { + // TODO: implement isExtendableIn + throw UnimplementedError(); + } + + @override + // TODO: implement isFinal + bool get isFinal => throw UnimplementedError(); + + @override + bool isImplementableIn(LibraryElement library) { + // TODO: implement isImplementableIn + throw UnimplementedError(); + } + + @override + // TODO: implement isInterface + bool get isInterface => throw UnimplementedError(); + + @override + bool isMixableIn(LibraryElement library) { + // TODO: implement isMixableIn + throw UnimplementedError(); + } + + @override + // TODO: implement isMixinClass + bool get isMixinClass => throw UnimplementedError(); + + @override + // TODO: implement isSealed + bool get isSealed => throw UnimplementedError(); } class FakeFieldElement implements FieldElement { @@ -547,6 +597,14 @@ class FakeFieldElement implements FieldElement { @override // TODO: implement children List get children => throw UnimplementedError(); + + @override + // TODO: implement hasReopen + bool get hasReopen => throw UnimplementedError(); + + @override + // TODO: implement isPromotable + bool get isPromotable => throw UnimplementedError(); } class FakeDartObject implements DartObject { diff --git a/tool/format.sh b/tool/format.sh index 49a16d45..89fd28f9 100644 --- a/tool/format.sh +++ b/tool/format.sh @@ -3,7 +3,7 @@ cd .. cd floor -flutter format . +dart format . cd .. cd floor_annotation @@ -15,4 +15,4 @@ dart format . cd .. cd example -flutter format . +dart format .