aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/installation/interfaces.ts
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/installation/interfaces.ts')
-rw-r--r--editors/code/src/installation/interfaces.ts33
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 */
6export interface ArtifactMetadata { 9export 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 */
12export enum BinarySourceType { ExplicitPath, GithubBinary } 17export enum BinarySourceType { ExplicitPath, GithubBinary }
13 18
14export 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 */
23export type BinarySource = ExplicitPathSource | GithubBinarySource;
24
15 25
16export interface EplicitPathSource { 26export 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
21export interface GithubBinarySource { 35export 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}