前提・実現したいこと
AndroidStudioでFlutterをしていたところエラーが発生しました。
エラーを読む限りgeneratorを使えば解決できそうなのですが、それもどうやって起動するのか分からない状態です。もちろんいろいろ調べたのですが、解決できませんでした。
解消方法をご存知の方がいらっしゃればご教授いただきたいです。
発生している問題・エラーメッセージ
Target of URI hasn't been generated: 'serializers.g.dart'.> Documentation
Try running the generator that will generate the file referenced by the URI.```
ソースコード
Dart
1 2import 'package:built_value/standard_json_plugin.dart'; 3 4import 'record_record.dart'; 5 6import 'index.dart'; 7 8export 'index.dart'; 9 10part 'serializers.g.dart';//エラー箇所 11 12 13const kDocumentReferenceField = 'Document__Reference__Field'; 14 15(const [ 16 RecordRecord, 17]) 18final Serializers serializers = (_$serializers.toBuilder() 19 ..add(DocumentReferenceSerializer()) 20 ..add(DateTimeSerializer()) 21 ..add(LatLngSerializer()) 22 ..addPlugin(StandardJsonPlugin())) 23 .build(); 24 25extension SerializerExtensions on Serializers { 26 Map<String, dynamic> toFirestore<T>(Serializer<T> serializer, T object) => 27 mapToFirestore(serializeWith(serializer, object)); 28} 29 30class DocumentReferenceSerializer 31 implements PrimitiveSerializer<DocumentReference> { 32 final bool structured = false; 33 34 final Iterable<Type> types = new BuiltList<Type>([DocumentReference]); 35 36 final String wireName = 'DocumentReference'; 37 38 39 Object serialize(Serializers serializers, DocumentReference reference, 40 {FullType specifiedType: FullType.unspecified}) { 41 return reference; 42 } 43 44 45 DocumentReference deserialize(Serializers serializers, Object serialized, 46 {FullType specifiedType: FullType.unspecified}) => 47 serialized as DocumentReference; 48} 49 50class DateTimeSerializer implements PrimitiveSerializer<DateTime> { 51 52 final Iterable<Type> types = new BuiltList<Type>([DateTime]); 53 54 final String wireName = 'DateTime'; 55 56 57 Object serialize(Serializers serializers, DateTime dateTime, 58 {FullType specifiedType: FullType.unspecified}) { 59 return dateTime; 60 } 61 62 63 DateTime deserialize(Serializers serializers, Object serialized, 64 {FullType specifiedType: FullType.unspecified}) => 65 serialized as DateTime; 66} 67 68class LatLngSerializer implements PrimitiveSerializer<LatLng> { 69 final bool structured = false; 70 71 final Iterable<Type> types = new BuiltList<Type>([LatLng]); 72 73 final String wireName = 'LatLng'; 74 75 76 Object serialize(Serializers serializers, LatLng location, 77 {FullType specifiedType: FullType.unspecified}) { 78 return location; 79 } 80 81 82 LatLng deserialize(Serializers serializers, Object serialized, 83 {FullType specifiedType: FullType.unspecified}) => 84 serialized as LatLng; 85} 86 87Map<String, dynamic> serializedData(DocumentSnapshot doc) => 88 {...mapFromFirestore(doc.data()), kDocumentReferenceField: doc.reference}; 89 90Map<String, dynamic> mapFromFirestore(Map<String, dynamic> data) => 91 data.map((key, value) { 92 if (value is Timestamp) { 93 value = (value as Timestamp).toDate(); 94 } 95 if (value is GeoPoint) { 96 value = (value as GeoPoint).toLatLng(); 97 } 98 return MapEntry(key, value); 99 }); 100 101Map<String, dynamic> mapToFirestore(Map<String, dynamic> data) => 102 data.map((key, value) { 103 if (value is LatLng) { 104 value = (value as LatLng).toGeoPoint(); 105 } 106 return MapEntry(key, value); 107 }); 108 109extension GeoPointExtension on LatLng { 110 GeoPoint toGeoPoint() => GeoPoint(latitude, longitude); 111} 112 113extension LatLngExtension on GeoPoint { 114 LatLng toLatLng() => LatLng(latitude, longitude); 115} 116 117DocumentReference toRef(String ref) => FirebaseFirestore.instance.doc(ref); 118 119T safeGet<T>(T Function() func, [Function(dynamic) reportError]) { 120 try { 121 return func(); 122 } catch (e) { 123 reportError?.call(e); 124 } 125 return null; 126} 127
試したこと
Documentationに従って
import 'serializers.g.dart';
import 'package:built_value/serializer.dart';
を追加してみましたがダメでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。