import 'package:analyzer/dart/element/element.dart'; import 'angel_serialize.dart'; class BuildContext { final Map aliases = {}; final Map shimmed = {}; final String originalClassName, sourceFilename; // Todo: We can use analyzer to copy straight from Model class final List fields = []; final Serializable annotation; String primaryKeyName = 'id'; BuildContext(this.annotation, {this.originalClassName, this.sourceFilename}); String get modelClassName => originalClassName.startsWith('_') ? originalClassName.substring(1) : originalClassName; String get queryClassName => modelClassName + 'Query'; String get whereClassName => queryClassName + 'Where'; String resolveFieldName(String name) => aliases.containsKey(name) ? aliases[name] : name; }