/ src / get-inputs.ts
get-inputs.ts
 1  import * as core from '@actions/core';
 2  import {Inputs} from './interfaces';
 3  
 4  export function showInputs(inps: Inputs): void {
 5    let authMethod = '';
 6    if (inps.DeployKey) {
 7      authMethod = 'DeployKey';
 8    } else if (inps.GithubToken) {
 9      authMethod = 'GithubToken';
10    } else if (inps.PersonalToken) {
11      authMethod = 'PersonalToken';
12    }
13  
14    core.info(`\
15  [INFO] ${authMethod}: true
16  [INFO] PublishBranch: ${inps.PublishBranch}
17  [INFO] PublishDir: ${inps.PublishDir}
18  [INFO] DestinationDir: ${inps.DestinationDir}
19  [INFO] ExternalRepository: ${inps.ExternalRepository}
20  [INFO] AllowEmptyCommit: ${inps.AllowEmptyCommit}
21  [INFO] KeepFiles: ${inps.KeepFiles}
22  [INFO] ForceOrphan: ${inps.ForceOrphan}
23  [INFO] UserName: ${inps.UserName}
24  [INFO] UserEmail: ${inps.UserEmail}
25  [INFO] CommitMessage: ${inps.CommitMessage}
26  [INFO] FullCommitMessage: ${inps.FullCommitMessage}
27  [INFO] TagName: ${inps.TagName}
28  [INFO] TagMessage: ${inps.TagMessage}
29  [INFO] EnableJekyll (DisableNoJekyll): ${inps.DisableNoJekyll}
30  [INFO] CNAME: ${inps.CNAME}
31  [INFO] ExcludeAssets ${inps.ExcludeAssets}
32  `);
33  }
34  
35  export function getInputs(): Inputs {
36    let useBuiltinJekyll = false;
37  
38    const enableJekyll: boolean =
39      (core.getInput('enable_jekyll') || 'false').toUpperCase() === 'TRUE';
40    const disableNoJekyll: boolean =
41      (core.getInput('disable_nojekyll') || 'false').toUpperCase() === 'TRUE';
42  
43    if (enableJekyll && disableNoJekyll) {
44      throw new Error(`Use either of enable_jekyll or disable_nojekyll`);
45    } else if (enableJekyll) {
46      useBuiltinJekyll = true;
47    } else if (disableNoJekyll) {
48      useBuiltinJekyll = true;
49    }
50  
51    const inps: Inputs = {
52      DeployKey: core.getInput('deploy_key'),
53      GithubToken: core.getInput('github_token'),
54      PersonalToken: core.getInput('personal_token'),
55      PublishBranch: core.getInput('publish_branch'),
56      PublishDir: core.getInput('publish_dir'),
57      DestinationDir: core.getInput('destination_dir'),
58      ExternalRepository: core.getInput('external_repository'),
59      AllowEmptyCommit: (core.getInput('allow_empty_commit') || 'false').toUpperCase() === 'TRUE',
60      KeepFiles: (core.getInput('keep_files') || 'false').toUpperCase() === 'TRUE',
61      ForceOrphan: (core.getInput('force_orphan') || 'false').toUpperCase() === 'TRUE',
62      UserName: core.getInput('user_name'),
63      UserEmail: core.getInput('user_email'),
64      CommitMessage: core.getInput('commit_message'),
65      FullCommitMessage: core.getInput('full_commit_message'),
66      TagName: core.getInput('tag_name'),
67      TagMessage: core.getInput('tag_message'),
68      DisableNoJekyll: useBuiltinJekyll,
69      CNAME: core.getInput('cname'),
70      ExcludeAssets: core.getInput('exclude_assets')
71    };
72  
73    return inps;
74  }