generateActionClass function
String
generateActionClass(
- ClassElement c
)
Implementation
String generateActionClass(ClassElement c) {
final setterActions = c.publicSetters.map((e) {
return '''
FutureOr<void> ${generateSetterActionName(c, e)} (
${c.snapshotName} ${c.displayName.toVariableName()},
${e.type} ${e.displayName}
) {}
''';
}).join('\n');
final eventActions = c.publicMethods.map((e) {
return '''
FutureOr<void> ${generateMethodActionName(c, e)}(
${c.snapshotName} ${c.displayName.toVariableName()},
${e.parameters.toParameterList()}
) {}
''';
}).join('\n');
return '''
${_generateLoaderClass(c)}
abstract class ${c.effectClassName} extends SaveEffect {
@override
void register() {
super.register();
save.\$registerEffect(${c.reactiveDataName}, this);
}
FutureOr<void> ${c.initActionMethodName}(${c.snapshotName} first) {}
FutureOr<void> ${c.disposeActionMethodName}(${c.snapshotName} last) {}
FutureOr<void> ${c.updateActionMethodName}(${c.snapshotName} updated) {}
$setterActions
$eventActions
}
''';
}