UNPKG

2.64 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5var __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};
12Object.defineProperty(exports, "__esModule", { value: true });
13const cli_ux_1 = __importDefault(require("cli-ux"));
14const terminal_link_1 = __importDefault(require("terminal-link"));
15const types_1 = require("./types");
16const colors_1 = __importDefault(require("./colors"));
17const request = __importStar(require("./request"));
18const sdk_1 = require("./sdk");
19const { table, tree } = cli_ux_1.default;
20function url(text, url) {
21 // sdk.track(['UX', 'url'], { text, url });
22 return terminal_link_1.default(colors_1.default.multiBlue(text), url);
23}
24async function print(text) {
25 await request.print({
26 text,
27 });
28}
29async 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}
41async function start(text) {
42 await request.start({
43 text,
44 });
45}
46async function stop(text) {
47 await request.stop({
48 text,
49 });
50}
51async function wait(duration) {
52 await cli_ux_1.default.wait(duration);
53}
54function init() {
55 return { start: startProgress, increment: advance, stop: stopProgress };
56}
57async function startProgress(length, initial, message) {
58 await request.startProgress({ length, initial, text: message });
59}
60async function advance(increment) {
61 await request.advanceProgress({ increment });
62}
63async function stopProgress(message) {
64 await request.stopProgress({ text: message });
65}
66function bold(text) {
67 return sdk_1.getInterfaceType() == types_1.Interfaces.Slack
68 ? `*${text}*`
69 : colors_1.default.bold(text);
70}
71function italic(text) {
72 return sdk_1.getInterfaceType() == types_1.Interfaces.Slack
73 ? `_${text}_`
74 : colors_1.default.italic(text);
75}
76exports.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};