generateExtension static method
String
generateExtension(
- StringBuffer classBuffer,
- ClassElement aClass,
- bool hasFSSupport,
- bool hasRDBSupport,
Generates a Dart extension for the given class name.
Implementation
static String generateExtension(
final StringBuffer classBuffer,
final ClassElement aClass,
final bool hasFSSupport,
final bool hasRDBSupport
) {
classBuffer.writeln("// - - - - - - - FirestormObject ${aClass.name} - - - - - - -");
classBuffer.writeln();
//Generate extension class
classBuffer.writeln("extension ${aClass.name}Model on ${aClass.name} {");
classBuffer.writeln();
if (aClass.unnamedConstructor == null) {
throw InvalidClassException(aClass.name);
}
final ConstructorElement constructorElement = aClass.unnamedConstructor!;
final List<ParameterElement> constructorParams = constructorElement.parameters;
_generateStaticFields(classBuffer, hasFSSupport, hasRDBSupport);
_generateToMap(classBuffer, aClass);
_generateFromMap(classBuffer, aClass, constructorParams);
return classBuffer.toString();
}