Skip to content

Commit

Permalink
fix: Fixing definitions around mixin.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed May 19, 2023
1 parent e1ea6a7 commit 333618d
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 40 deletions.
25 changes: 12 additions & 13 deletions packages/katana_model/example/pubspec.lock
Expand Up @@ -85,10 +85,10 @@ packages:
dependency: "direct dev"
description:
name: build_runner
sha256: "87e06c939450b9b94e3e1bb2d46e0e9780adbff5500d3969f2ba2de6bbb860cb"
sha256: "220ae4553e50d7c21a17c051afc7b183d28a24a420502e842f303f8e4e6edced"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.4.4"
build_runner_core:
dependency: transitive
description:
Expand Down Expand Up @@ -337,27 +337,26 @@ packages:
source: hosted
version: "4.8.1"
katana:
dependency: transitive
dependency: "direct overridden"
description:
name: katana
sha256: "99e37bec02e32244b575b8459d7c5108297376e4f36d7da1a40ab22fb701e97d"
url: "https://pub.dev"
source: hosted
version: "1.0.14"
path: "../../katana"
relative: true
source: path
version: "2.0.1"
katana_listenables_annotation:
dependency: "direct overridden"
description:
path: "../../katana_listenables_annotation"
relative: true
source: path
version: "1.2.24"
version: "2.0.2"
katana_model:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
version: "1.7.11"
version: "2.0.1"
lints:
dependency: transitive
description:
Expand Down Expand Up @@ -719,10 +718,10 @@ packages:
dependency: transitive
description:
name: watcher
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
version: "1.1.0"
web_socket_channel:
dependency: transitive
description:
Expand Down Expand Up @@ -756,5 +755,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.0.0-417 <4.0.0"
dart: ">=3.0.0 <4.0.0"
flutter: ">=3.3.0"
2 changes: 1 addition & 1 deletion packages/katana_model/lib/src/model_field_value.dart
Expand Up @@ -238,7 +238,7 @@ abstract class ModelFieldValue<T> {
///
/// [Map]として扱われますが、値の更新はサポートされていません。
/// 値を更新しようとすると[UnsupportedError]が出力されます。
abstract class ModelFieldValueAsMapMixin<T>
mixin ModelFieldValueAsMapMixin<T>
implements Map<String, Object?>, ModelFieldValue<T> {
@override
Iterable<String> get keys {
Expand Down
4 changes: 2 additions & 2 deletions packages/katana_model/lib/src/model_ref.dart
Expand Up @@ -242,7 +242,7 @@ class ModelRefFilter extends ModelFieldValueFilter<ModelRefBase> {
/// [DocumentBase]などにモデル間のリレーションであるということを定義するためのミックスイン。
///
/// リレーション先のドキュメントにミックスインしてください。
abstract class ModelRefMixin<T>
mixin ModelRefMixin<T>
implements ModelRefDocumentBase<T>, ModelRefBase<T>, DocumentBase<T> {
@override
Map<String, dynamic> toJson() => {
Expand Down Expand Up @@ -272,7 +272,7 @@ abstract class ModelRefDocumentBase<T>
/// [builder]を定義して関連するドキュメントとデータの格納を行ってください。
///
/// リレーション元のドキュメントにミックスインしてください。
abstract class ModelRefLoaderMixin<T> implements DocumentBase<T> {
mixin ModelRefLoaderMixin<T> implements DocumentBase<T> {
final _modelRefBuilderCache = <DocumentModelQuery, ModelRefMixin>{};

/// ModelRefBuilder], which implements the definition of the loading method.
Expand Down
47 changes: 23 additions & 24 deletions packages/katana_model/pubspec.lock
Expand Up @@ -85,10 +85,10 @@ packages:
dependency: "direct dev"
description:
name: build_runner
sha256: "87e06c939450b9b94e3e1bb2d46e0e9780adbff5500d3969f2ba2de6bbb860cb"
sha256: "220ae4553e50d7c21a17c051afc7b183d28a24a420502e842f303f8e4e6edced"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.4.4"
build_runner_core:
dependency: transitive
description:
Expand Down Expand Up @@ -239,10 +239,10 @@ packages:
dependency: "direct dev"
description:
name: freezed
sha256: "73b58fe836dc05594451d8f740d97d5167886962d628b9f60a1fe945aa0a891f"
sha256: "2edb9ef971d0f803860ecd9084afd48c717d002141ad77b69be3e976bee7190e"
url: "https://pub.dev"
source: hosted
version: "2.3.3"
version: "2.3.4"
freezed_annotation:
dependency: "direct dev"
description:
Expand Down Expand Up @@ -343,18 +343,17 @@ packages:
dependency: "direct dev"
description:
name: json_serializable
sha256: "43793352f90efa5d8b251893a63d767b2f7c833120e3cc02adad55eefec04dc7"
sha256: "61a60716544392a82726dd0fa1dd6f5f1fd32aec66422b6e229e7b90d52325c4"
url: "https://pub.dev"
source: hosted
version: "6.6.2"
version: "6.7.0"
katana:
dependency: "direct main"
description:
name: katana
sha256: "99e37bec02e32244b575b8459d7c5108297376e4f36d7da1a40ab22fb701e97d"
url: "https://pub.dev"
source: hosted
version: "1.0.14"
path: "../katana"
relative: true
source: path
version: "2.0.1"
lints:
dependency: transitive
description:
Expand All @@ -375,10 +374,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev"
source: hosted
version: "0.12.15"
version: "0.12.16"
material_color_utilities:
dependency: transitive
description:
Expand Down Expand Up @@ -644,10 +643,10 @@ packages:
dependency: transitive
description:
name: source_gen
sha256: "378a173055cd1fcd2a36e94bf254786d6812688b5f53b6038a2fd180a5a5e210"
sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
version: "1.3.2"
source_helper:
dependency: transitive
description:
Expand Down Expand Up @@ -732,26 +731,26 @@ packages:
dependency: "direct dev"
description:
name: test
sha256: "4f92f103ef63b1bbac6f4bd1930624fca81b2574464482512c4f0896319be575"
sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46"
url: "https://pub.dev"
source: hosted
version: "1.24.2"
version: "1.24.3"
test_api:
dependency: transitive
description:
name: test_api
sha256: daadc9baabec998b062c9091525aa95786508b1c48e9c30f1f891b8bf6ff2e64
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev"
source: hosted
version: "0.5.2"
version: "0.6.0"
test_core:
dependency: transitive
description:
name: test_core
sha256: "3642b184882f79e76ca57a9230fb971e494c3c1fd09c21ae3083ce891bcc0aa1"
sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e"
url: "https://pub.dev"
source: hosted
version: "0.5.2"
version: "0.5.3"
timing:
dependency: transitive
description:
Expand Down Expand Up @@ -804,10 +803,10 @@ packages:
dependency: transitive
description:
name: watcher
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
version: "1.1.0"
web_socket_channel:
dependency: transitive
description:
Expand Down Expand Up @@ -849,5 +848,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.0.0-417 <4.0.0"
dart: ">=3.0.0 <4.0.0"
flutter: ">=3.3.0"
58 changes: 58 additions & 0 deletions packages/katana_model/test/runtime_model_test.dart
Expand Up @@ -8,6 +8,39 @@ import 'package:katana_model/katana_model.dart';
part 'runtime_model_test.freezed.dart';
part 'runtime_model_test.g.dart';

// class RuntimeRecordDocumentModel
// extends DocumentBase<({String name, int? count, String text})> {
// RuntimeRecordDocumentModel(super.query);

// @override
// ({int? count, String name, String text}) fromMap(DynamicMap map) {
// return (
// count: map.get("count", 0),
// name: map.get("name", ""),
// text: map.get("text", ""),
// );
// }

// @override
// DynamicMap toMap(({int? count, String name, String text}) value) {
// return {
// "count": value.count,
// "name": value.name,
// "text": value.text,
// };
// }
// }

// class RuntimeRecordCollectionModel
// extends CollectionBase<RuntimeRecordDocumentModel> {
// RuntimeRecordCollectionModel(super.query);

// @override
// RuntimeRecordDocumentModel create([String? id]) {
// return RuntimeRecordDocumentModel(modelQuery.create(id));
// }
// }

class RuntimeMapDocumentModel extends DocumentBase<DynamicMap> {
RuntimeMapDocumentModel(super.query);

Expand Down Expand Up @@ -60,6 +93,31 @@ class RuntimeTestValueCollectionModel
}

void main() {
// test("runtimeRecordDocumentModel.saveAndLoadAndDelete", () async {
// final adapter = RuntimeModelAdapter(database: NoSqlDatabase());
// final query = DocumentModelQuery("test/doc", adapter: adapter);
// final model = RuntimeRecordDocumentModel(query);
// await model.load();
// expect(model.value, null);
// model.save((name: "aaaa", text: "bbbb", count: 1));
// await model.saving;
// expect(model.value, (name: "aaaa", text: "bbbb", count: 1));
// final remodel = RuntimeRecordDocumentModel(query);
// expect(remodel.value, null);
// expect(await remodel.load(), (name: "aaaa", text: "bbbb", count: 1));
// expect(remodel.value, (name: "aaaa", text: "bbbb", count: 1));
// remodel.save((name: "cccc", text: "dddd", count: 3));
// await remodel.saving;
// expect(remodel.value, (name: "cccc", text: "dddd", count: 3));
// await model.loading;
// expect(model.value, (name: "cccc", text: "dddd", count: 3));
// await model.delete();
// expect(model.value, null);
// expect(remodel.value, null);
// model.save((name: "aaaa", text: "bbbb", count: 1));
// await model.saving;
// expect(remodel.value, (name: "aaaa", text: "bbbb", count: 1));
// });
test("runtimeDocumentModel.saveAndLoadAndDelete", () async {
final adapter = RuntimeModelAdapter(database: NoSqlDatabase());
final query = DocumentModelQuery("test/doc", adapter: adapter);
Expand Down

0 comments on commit 333618d

Please sign in to comment.