/
userExtension.input.ts
54 lines (49 loc) · 1.08 KB
/
userExtension.input.ts
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
* An inactive extensions slot.
*/
export interface HelixUserExtensionUpdatePayloadInactiveSlot {
/**
* A flag indicating that the slot is inactive.
*/
active: false;
}
/**
* An active extensions slot.
*/
export interface HelixUserExtensionUpdatePayloadActiveSlot {
/**
* A flag indicating that the slot is active.
*/
active: true;
/**
* The ID of the extension.
*/
id: string;
/**
* The version of the extension.
*/
version?: string;
}
/**
* An extension slot.
*/
export type HelixUserExtensionUpdatePayloadSlot =
| HelixUserExtensionUpdatePayloadInactiveSlot
| HelixUserExtensionUpdatePayloadActiveSlot;
/**
* The whole payload of an user extension update.
*/
export interface HelixUserExtensionUpdatePayload {
/**
* Panel slots to update.
*/
panel?: Partial<Record<'1' | '2' | '3', HelixUserExtensionUpdatePayloadSlot>>;
/**
* Overlay slots to update.
*/
overlay?: Partial<Record<'1', HelixUserExtensionUpdatePayloadSlot>>;
/**
* Component slots to update.
*/
component?: Partial<Record<'1' | '2', HelixUserExtensionUpdatePayloadSlot>>;
}