this repo has no description
1export type Config = {
2 extensions: ConfigExtensions;
3 repositories: string[];
4 devSearchPaths?: string[];
5 loggerLevel?: string;
6 patchAll?: boolean;
7};
8
9export type ConfigExtensions =
10 | { [key: string]: boolean }
11 | { [key: string]: ConfigExtension };
12
13export type ConfigExtension = {
14 enabled: boolean;
15 config?: Record<string, any>;
16};
17
18export enum ExtensionSettingType {
19 Boolean = "boolean",
20 Number = "number",
21 String = "string",
22 Select = "select",
23 MultiSelect = "multiselect",
24 List = "list",
25 Dictionary = "dictionary",
26 Custom = "custom"
27}
28
29export type BooleanSettingType = {
30 type: ExtensionSettingType.Boolean;
31 default?: boolean;
32};
33
34export type NumberSettingType = {
35 type: ExtensionSettingType.Number;
36 default?: number;
37 min?: number;
38 max?: number;
39};
40
41export type StringSettingType = {
42 type: ExtensionSettingType.String;
43 default?: string;
44};
45
46export type SelectSettingType = {
47 type: ExtensionSettingType.Select;
48 options: string[];
49 default?: string;
50};
51
52export type MultiSelectSettingType = {
53 type: ExtensionSettingType.MultiSelect;
54 options: string[];
55 default?: string[];
56};
57
58export type ListSettingType = {
59 type: ExtensionSettingType.List;
60 default?: string[];
61};
62
63export type DictionarySettingType = {
64 type: ExtensionSettingType.Dictionary;
65 default?: Record<string, string>;
66};
67
68export type CustomSettingType = {
69 type: ExtensionSettingType.Custom;
70 default?: any;
71};
72
73export type ExtensionSettingsManifest = {
74 displayName?: string;
75 description?: string;
76} & (
77 | BooleanSettingType
78 | NumberSettingType
79 | StringSettingType
80 | SelectSettingType
81 | MultiSelectSettingType
82 | ListSettingType
83 | DictionarySettingType
84 | CustomSettingType
85);