feat(App): update Finlytic Flutter app UI and blocs
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class FinbertResultModel extends Equatable {
|
||||
final String label;
|
||||
final double score;
|
||||
final double positiveProbability;
|
||||
final double negativeProbability;
|
||||
final double neutralProbability;
|
||||
final String processingTimeMs;
|
||||
final String? summarySnippet;
|
||||
|
||||
const FinbertResultModel({
|
||||
required this.label,
|
||||
required this.score,
|
||||
required this.positiveProbability,
|
||||
required this.negativeProbability,
|
||||
required this.neutralProbability,
|
||||
required this.processingTimeMs,
|
||||
this.summarySnippet,
|
||||
});
|
||||
|
||||
factory FinbertResultModel.fromJson(Map<String, dynamic> json) {
|
||||
Map<String, dynamic>? probs = json['probabilities'] ?? json['Probabilities'];
|
||||
|
||||
return FinbertResultModel(
|
||||
label: json['label'] ?? json['Label'] ?? 'NEUTRAL',
|
||||
score: (json['compound_score'] ?? json['compoundScore'] ?? json['score'] ?? json['Score'] ?? 0.0).toDouble(),
|
||||
positiveProbability: (probs != null ? (probs['positive'] ?? probs['Positive'] ?? 0.0) : (json['positiveProbability'] ?? json['PositiveProbability'] ?? 0.0)).toDouble(),
|
||||
negativeProbability: (probs != null ? (probs['negative'] ?? probs['Negative'] ?? 0.0) : (json['negativeProbability'] ?? json['NegativeProbability'] ?? 0.0)).toDouble(),
|
||||
neutralProbability: (probs != null ? (probs['neutral'] ?? probs['Neutral'] ?? 0.0) : (json['neutralProbability'] ?? json['NeutralProbability'] ?? 0.0)).toDouble(),
|
||||
processingTimeMs: json['processingTimeMs']?.toString() ?? json['ProcessingTimeMs']?.toString() ?? '0ms',
|
||||
summarySnippet: json['summary_snippet']?.toString() ?? json['summarySnippet']?.toString(),
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'label': label,
|
||||
'score': score,
|
||||
'positiveProbability': positiveProbability,
|
||||
'negativeProbability': negativeProbability,
|
||||
'neutralProbability': neutralProbability,
|
||||
'processingTimeMs': processingTimeMs,
|
||||
'summarySnippet': summarySnippet,
|
||||
};
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
label,
|
||||
score,
|
||||
positiveProbability,
|
||||
negativeProbability,
|
||||
neutralProbability,
|
||||
processingTimeMs,
|
||||
summarySnippet,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user