diff options
Diffstat (limited to 'editors/code/src/installation/interfaces.ts')
-rw-r--r-- | editors/code/src/installation/interfaces.ts | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/editors/code/src/installation/interfaces.ts b/editors/code/src/installation/interfaces.ts index f54e24e26..03eac5b79 100644 --- a/editors/code/src/installation/interfaces.ts +++ b/editors/code/src/installation/interfaces.ts | |||
@@ -3,24 +3,51 @@ export interface GithubRepo { | |||
3 | owner: string; | 3 | owner: string; |
4 | } | 4 | } |
5 | 5 | ||
6 | /** | ||
7 | * Metadata about particular artifact retrieved from GitHub releases. | ||
8 | */ | ||
6 | export interface ArtifactMetadata { | 9 | export interface ArtifactMetadata { |
7 | releaseName: string; | 10 | releaseName: string; |
8 | downloadUrl: string; | 11 | downloadUrl: string; |
9 | } | 12 | } |
10 | 13 | ||
11 | 14 | /** | |
15 | * Type tag for `BinarySource` discriminated union. | ||
16 | */ | ||
12 | export enum BinarySourceType { ExplicitPath, GithubBinary } | 17 | export enum BinarySourceType { ExplicitPath, GithubBinary } |
13 | 18 | ||
14 | export type BinarySource = EplicitPathSource | GithubBinarySource; | 19 | /** |
20 | * Represents the source of a binary artifact which is either specified by the user | ||
21 | * explicitly, or bundled by this extension from GitHub releases. | ||
22 | */ | ||
23 | export type BinarySource = ExplicitPathSource | GithubBinarySource; | ||
24 | |||
15 | 25 | ||
16 | export interface EplicitPathSource { | 26 | export interface ExplicitPathSource { |
17 | type: BinarySourceType.ExplicitPath; | 27 | type: BinarySourceType.ExplicitPath; |
28 | |||
29 | /** | ||
30 | * Filesystem path to the binary specified by the user explicitly. | ||
31 | */ | ||
18 | path: string; | 32 | path: string; |
19 | } | 33 | } |
20 | 34 | ||
21 | export interface GithubBinarySource { | 35 | export interface GithubBinarySource { |
22 | type: BinarySourceType.GithubBinary; | 36 | type: BinarySourceType.GithubBinary; |
37 | |||
38 | /** | ||
39 | * Repository where the binary is stored. | ||
40 | */ | ||
23 | repo: GithubRepo; | 41 | repo: GithubRepo; |
42 | |||
43 | /** | ||
44 | * Directory on the filesystem where the bundled binary is stored. | ||
45 | */ | ||
24 | dir: string; | 46 | dir: string; |
47 | |||
48 | /** | ||
49 | * Name of the binary file. It is stored under the same name on GitHub releases | ||
50 | * and in local `.dir`. | ||
51 | */ | ||
25 | file: string; | 52 | file: string; |
26 | } | 53 | } |