parseContent function

dynamic parseContent(
  1. String content
)

Implementation

dynamic parseContent(String content)  {
  var localizations = [];
  var arbContent = {};
  var compilationUnit = parseCompilationUnit2(content);
  for (var element in compilationUnit.declarations) {
    if (element is ClassDeclaration) {
      if (element.name.toString().endsWith('Localizations')) {
        var localizationInfo = {};
        localizationInfo['name'] = element.name.toString();
        for (var element in element.members) {
          if (element is MethodDeclaration) {
            var value = '';
            var body = element.body;
            if (body is ExpressionFunctionBody) {
              if (body.expression is SimpleStringLiteral) {
                value = (body.expression as SimpleStringLiteral).value;
              }
            }
            arbContent[element.name.toString()] = value;
            arbContent['@${element.name.toString()}'] = {
              "description": "",
              "type": "text",
              "placeholders": {}
            };
          }
        }
        localizationInfo['arb'] = arbContent;
        localizations.add(localizationInfo);
      }
    }
  }

  return localizations;
}