Generate constructors map as static
This commit is contained in:
		
							parent
							
								
									113808091e
								
							
						
					
					
						commit
						70195bd904
					
				
					 1 changed files with 14 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -240,13 +240,9 @@ abstract class TdBase {
 | 
			
		|||
    return 'td::TdBase()';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static TdBase? fromJson(Map<String, dynamic>? json) {
 | 
			
		||||
    if (json == null) {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
    final type = json['@type'] as String;
 | 
			
		||||
    final constructors = {
 | 
			
		||||
  static final constructors = {
 | 
			
		||||
""";
 | 
			
		||||
 | 
			
		||||
  for (final o in scheme.objects) {
 | 
			
		||||
    final normName = o.name.pascalCase;
 | 
			
		||||
    result += '''
 | 
			
		||||
| 
						 | 
				
			
			@ -254,12 +250,18 @@ abstract class TdBase {
 | 
			
		|||
''';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  result += '''
 | 
			
		||||
  result += """
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  static TdBase? fromJson(Map<String, dynamic>? json) {
 | 
			
		||||
    if (json == null) {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
    final type = json['@type'] as String;
 | 
			
		||||
    return constructors[type]!(json);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
''';
 | 
			
		||||
""";
 | 
			
		||||
  return result;
 | 
			
		||||
}
 | 
			
		||||
String makeAbstractFile(TlSchema scheme) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue