spiResolveMethods property

String get spiResolveMethods

Implementation

String get spiResolveMethods {
  final result = StringBuffer();
  _iterate(
    include: includeMemberVars | excludeTempPlaceholder,
    visit: (identifier, kind, isLast, includeKind) {
      result.writeln("$kind get $identifier => context.p.$identifier;");
    }
  );

  _iterate(
    include: includeResolveVars,
    visit: (identifier, kind, isLast, includeKind) {
      final noId = AFCodeGenerator.convertStripId(identifier);
      final methodSuffix = AFCodeGenerator.convertUpcaseFirst(noId);
      final kindPlural = AFCodeGenerator.pluralize(kind);
      final kindPluralCamel = AFCodeGenerator.convertToCamelCase(kindPlural);
      result.writeln("$kind? get $noId => context.p.resolve$methodSuffix(context.s.$kindPluralCamel);");
    }
  );

  result.writeln();
  _addBreadcrumb(result, SnippetDeclareSPIT.insertSPIResolveMethods);

  return result.toString();
}