1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | var __importStar = (this && this.__importStar) || function (mod) {
|
6 | if (mod && mod.__esModule) return mod;
|
7 | var result = {};
|
8 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
9 | result["default"] = mod;
|
10 | return result;
|
11 | };
|
12 | Object.defineProperty(exports, "__esModule", { value: true });
|
13 | const cli_ux_1 = __importDefault(require("cli-ux"));
|
14 | const terminal_link_1 = __importDefault(require("terminal-link"));
|
15 | const types_1 = require("./types");
|
16 | const colors_1 = __importDefault(require("./colors"));
|
17 | const request = __importStar(require("./request"));
|
18 | const sdk_1 = require("./sdk");
|
19 | const { table, tree } = cli_ux_1.default;
|
20 | function url(text, url) {
|
21 |
|
22 | return terminal_link_1.default(colors_1.default.multiBlue(text), url);
|
23 | }
|
24 | async function print(text) {
|
25 | await request.print({
|
26 | text,
|
27 | });
|
28 | }
|
29 | async function prompt(questions) {
|
30 | let answersObject = {};
|
31 | if (Array.isArray(questions)) {
|
32 | for (const question of questions) {
|
33 | const response = await request.prompt(question);
|
34 | answersObject = Object.assign(Object.assign({}, answersObject), response);
|
35 | }
|
36 | return answersObject;
|
37 | }
|
38 | answersObject = await request.prompt(questions);
|
39 | return answersObject;
|
40 | }
|
41 | async function start(text) {
|
42 | await request.start({
|
43 | text,
|
44 | });
|
45 | }
|
46 | async function stop(text) {
|
47 | await request.stop({
|
48 | text,
|
49 | });
|
50 | }
|
51 | async function wait(duration) {
|
52 | await cli_ux_1.default.wait(duration);
|
53 | }
|
54 | function init() {
|
55 | return { start: startProgress, increment: advance, stop: stopProgress };
|
56 | }
|
57 | async function startProgress(length, initial, message) {
|
58 | await request.startProgress({ length, initial, text: message });
|
59 | }
|
60 | async function advance(increment) {
|
61 | await request.advanceProgress({ increment });
|
62 | }
|
63 | async function stopProgress(message) {
|
64 | await request.stopProgress({ text: message });
|
65 | }
|
66 | function bold(text) {
|
67 | return sdk_1.getInterfaceType() == types_1.Interfaces.Slack
|
68 | ? `*${text}*`
|
69 | : colors_1.default.bold(text);
|
70 | }
|
71 | function italic(text) {
|
72 | return sdk_1.getInterfaceType() == types_1.Interfaces.Slack
|
73 | ? `_${text}_`
|
74 | : colors_1.default.italic(text);
|
75 | }
|
76 | exports.default = {
|
77 | print,
|
78 | prompt,
|
79 | colors: colors_1.default,
|
80 | spinner: {
|
81 | start,
|
82 | stop,
|
83 | },
|
84 | wait,
|
85 | url,
|
86 | table,
|
87 | tree,
|
88 | bold,
|
89 | italic,
|
90 | progress: { init },
|
91 | };
|