1 export 'package:core_generator/src/field_types/bool_field_type.dart';
2 export 'package:core_generator/src/field_types/double_field_type.dart';
3 export 'package:core_generator/src/field_types/string_field_type.dart';
4 export 'package:core_generator/src/field_types/color_field_type.dart';
5 export 'package:core_generator/src/field_types/uint_field_type.dart';
7 Map<String, FieldType> _types = <String, FieldType>{};
9 abstract class FieldType {
13 String get cppName => _cppName;
15 String _runtimeCoreType;
16 String get runtimeCoreType => _runtimeCoreType;
20 String runtimeCoreType, {
24 _cppName = cppName ?? name;
25 _runtimeCoreType = runtimeCoreType;
29 static FieldType find(dynamic key) {
41 String equalityCheck(String varAName, String varBName) {
42 return "$varAName == $varBName";
45 String get defaultValue => null;
47 String get uncapitalizedName => '${name[0].toLowerCase()}${name.substring(1)}'
51 String get capitalizedName => '${name[0].toUpperCase()}${name.substring(1)}'
55 String get snakeName => name
56 .replaceAllMapped(RegExp('(.+?)([A-Z])'), (Match m) => '${m[1]}_${m[2]}')
59 String get snakeRuntimeCoreName => _runtimeCoreType
60 .replaceAllMapped(RegExp('(.+?)([A-Z])'), (Match m) => '${m[1]}_${m[2]}')
63 String convertCpp(String value) => value;