|
@@ -26,15 +26,15 @@ type State = {
|
|
|
// "Compare" button state
|
|
|
enableFingerprintCompare: boolean;
|
|
|
error: boolean;
|
|
|
- filteredSimilarItems: [];
|
|
|
+ filteredSimilarItems: SimilarItem[];
|
|
|
loading: boolean;
|
|
|
mergeDisabled: boolean;
|
|
|
mergeList: Array<string>;
|
|
|
mergeState: Map<any, any>;
|
|
|
// List of fingerprints that belong to issue
|
|
|
- mergedItems: [];
|
|
|
+ mergedItems: Fingerprint[];
|
|
|
mergedLinks: string;
|
|
|
- similarItems: [];
|
|
|
+ similarItems: SimilarItem[];
|
|
|
similarLinks: string;
|
|
|
// Disabled state of "Unmerge" button in "Merged" tab (for Issues)
|
|
|
unmergeDisabled: boolean;
|
|
@@ -81,6 +81,20 @@ export type Fingerprint = {
|
|
|
state?: string;
|
|
|
};
|
|
|
|
|
|
+export type SimilarItem = {
|
|
|
+ isBelowThreshold: boolean;
|
|
|
+ issue: Group;
|
|
|
+ aggregate?: {
|
|
|
+ exception: number;
|
|
|
+ message: number;
|
|
|
+ };
|
|
|
+ score?: Record<string, number | null>;
|
|
|
+ scoresByInterface?: {
|
|
|
+ exception: Array<[string, number | null]>;
|
|
|
+ message: Array<[string, any | null]>;
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
type ResponseProcessors = {
|
|
|
merged: (item: ApiFingerprint[]) => Fingerprint[];
|
|
|
similar: (data: [Group, ScoreMap]) => {
|