35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'package:freezed_annotation/freezed_annotation.dart';
 | 
						|
 | 
						|
part 'auto_completion.freezed.dart';
 | 
						|
part 'auto_completion.g.dart';
 | 
						|
 | 
						|
@freezed
 | 
						|
sealed class AutoCompletionResponse with _$AutoCompletionResponse {
 | 
						|
  const factory AutoCompletionResponse.account({
 | 
						|
    required String type,
 | 
						|
    required List<AutoCompletionItem> items,
 | 
						|
  }) = AutoCompletionAccountResponse;
 | 
						|
 | 
						|
  const factory AutoCompletionResponse.sticker({
 | 
						|
    required String type,
 | 
						|
    required List<AutoCompletionItem> items,
 | 
						|
  }) = AutoCompletionStickerResponse;
 | 
						|
 | 
						|
  factory AutoCompletionResponse.fromJson(Map<String, dynamic> json) =>
 | 
						|
      _$AutoCompletionResponseFromJson(json);
 | 
						|
}
 | 
						|
 | 
						|
@freezed
 | 
						|
sealed class AutoCompletionItem with _$AutoCompletionItem {
 | 
						|
  const factory AutoCompletionItem({
 | 
						|
    required String id,
 | 
						|
    required String displayName,
 | 
						|
    required String? secondaryText,
 | 
						|
    required String type,
 | 
						|
    required dynamic data,
 | 
						|
  }) = _AutoCompletionItem;
 | 
						|
 | 
						|
  factory AutoCompletionItem.fromJson(Map<String, dynamic> json) =>
 | 
						|
      _$AutoCompletionItemFromJson(json);
 | 
						|
}
 |