File size: 716 Bytes
d61b9c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
export enum ArgumentType {
  Number = "number",
  Enum = "enum",
  String = "string",
  Boolean = "boolean",
}

export type GenericArgumentConfig<T> = {
  value: T;
  limit: T[];
};

export type ArgumentConfig =
  | ({ type: ArgumentType.Number } & GenericArgumentConfig<number>)
  | ({ type: ArgumentType.Enum } & GenericArgumentConfig<string>)
  | ({ type: ArgumentType.String } & { value: string })
  | ({ type: ArgumentType.Boolean } & { value: boolean });

export interface MethodsArguments {
  [method_name: string]: {
    [arg_name: string]: ArgumentConfig;
  };
}

export interface InsightsConfig {
  classes: string[];
  methods: string[];
  method_arguments: MethodsArguments;
  selected_method: string;
}