parseTypedefs method

List<TypedefInfo> parseTypedefs(
  1. String content
)

Parses typedefs from a file

Implementation

List<TypedefInfo> parseTypedefs(String content) {
  final typedefs = <TypedefInfo>[];
  final enums = parseEnums(content);
  final typedefRegex = RegExp(
    r'typedef\s+(\w+)\s*=\s*\(\{([^}]+)\}\);',
    multiLine: true,
    dotAll: true,
  );

  final matches = typedefRegex.allMatches(content);

  for (final match in matches) {
    final typeName = match.group(1)!;
    final fieldsString = match.group(2)!;
    final fields = _parseFields(fieldsString, enums);

    typedefs.add(TypedefInfo(
      name: typeName,
      fields: fields,
      isClass: false,
    ));
  }

  return typedefs;
}