inspectObject method

  1. @override
void inspectObject(
  1. O? o
)
override

Implementation

@override
void inspectObject(O? o) {
  if (o == null) {
    // ignore: discarded_futures
    var obj = createDefault();
    if (obj is O) {
      o = obj;
    }
  }

  if (o != null && _idFieldsName == null) {
    _idFieldsName = o.idFieldName;

    _fieldsNames ??= List<String>.unmodifiable(o.fieldsNames);

    _fieldsTypes ??= Map<String, TypeInfo>.unmodifiable(
        Map<String, TypeInfo>.fromEntries(
            _fieldsNames!.map((f) => MapEntry(f, o!.getFieldType(f)!))));

    _fieldsEntityAnnotations ??=
        Map<String, List<EntityAnnotation>?>.unmodifiable(
            Map<String, List<EntityAnnotation>?>.fromEntries(
                _fieldsNames!.map((f) {
      var list = o!.getFieldEntityAnnotations(f);
      return MapEntry(f, list == null ? null : UnmodifiableListView(list));
    })));
  }
}