build method
Implementation
String build() {
final builder = CommandBuilder(command: this, parent: null);
if (hasFamily) {
// For family commands, extension returns a method that takes family params
return """
${_buildProviderDeclaration()}
${builder.buildFacadeCommandClassRef()}
${builder.buildFacadeCommandClassWidgetRef()}
extension \$${name[0].toUpperCase()}${name.substring(1)}CommandRefEx on Ref {
${builder.facadeCommandClassNameRef} ${name}Command(${familyParams.toParameterSignature()}) => ${builder.facadeCommandClassNameRef}(this, ${familyParams.toRecordValue()});
}
extension \$${name[0].toUpperCase()}${name.substring(1)}CommandWidgetRefEx on WidgetRef {
${builder.facadeCommandClassNameWidgetRef} ${name}Command(${familyParams.toParameterSignature()}) => ${builder.facadeCommandClassNameWidgetRef}(this, ${familyParams.toRecordValue()});
}
""";
}
return """
${_buildProviderDeclaration()}
${builder.buildFacadeCommandClassRef()}
${builder.buildFacadeCommandClassWidgetRef()}
extension \$${name[0].toUpperCase()}${name.substring(1)}CommandRefEx on Ref {
${builder.facadeCommandClassNameRef} get ${name}Command => ${builder.facadeCommandClassNameRef}(this);
}
extension \$${name[0].toUpperCase()}${name.substring(1)}CommandWidgetRefEx on WidgetRef {
${builder.facadeCommandClassNameWidgetRef} get ${name}Command => ${builder.facadeCommandClassNameWidgetRef}(this);
}
""";
}