mepcli 2.0.0-beta.2 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ansi.d.ts +36 -0
- package/dist/ansi.js +1 -0
- package/dist/base.d.ts +60 -0
- package/dist/base.js +1 -0
- package/dist/{src/core.js → core.d.ts} +175 -345
- package/dist/core.js +1 -0
- package/dist/data/countries.d.ts +2 -0
- package/dist/data/countries.js +1 -0
- package/dist/data/licenses.d.ts +2 -0
- package/dist/data/licenses.js +1 -0
- package/dist/highlight.d.ts +7 -0
- package/dist/highlight.js +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +1 -0
- package/dist/input.d.ts +14 -0
- package/dist/input.js +1 -0
- package/dist/pipeline.d.ts +90 -0
- package/dist/pipeline.js +1 -0
- package/dist/prompts/autocomplete.d.ts +22 -0
- package/dist/prompts/autocomplete.js +1 -0
- package/dist/prompts/box.d.ts +21 -0
- package/dist/prompts/box.js +4 -0
- package/dist/prompts/breadcrumb-search.d.ts +14 -0
- package/dist/prompts/breadcrumb-search.js +2 -0
- package/dist/prompts/breadcrumb.d.ts +32 -0
- package/dist/prompts/breadcrumb.js +3 -0
- package/dist/prompts/byte.d.ts +13 -0
- package/dist/prompts/byte.js +5 -0
- package/dist/prompts/calculator.d.ts +17 -0
- package/dist/prompts/calculator.js +3 -0
- package/dist/prompts/calendar.d.ts +33 -0
- package/dist/prompts/calendar.js +3 -0
- package/dist/prompts/checkbox.d.ts +13 -0
- package/dist/prompts/checkbox.js +2 -0
- package/dist/prompts/code.d.ts +19 -0
- package/dist/prompts/code.js +4 -0
- package/dist/prompts/color.d.ts +14 -0
- package/dist/prompts/color.js +10 -0
- package/dist/prompts/confirm.d.ts +8 -0
- package/dist/prompts/confirm.js +1 -0
- package/dist/prompts/connection-string.d.ts +18 -0
- package/dist/prompts/connection-string.js +1 -0
- package/dist/prompts/cron.d.ts +13 -0
- package/dist/prompts/cron.js +4 -0
- package/dist/prompts/curl-utils.d.ts +25 -0
- package/dist/prompts/curl-utils.js +1 -0
- package/dist/prompts/curl.d.ts +41 -0
- package/dist/prompts/curl.js +12 -0
- package/dist/prompts/data-inspector.d.ts +22 -0
- package/dist/prompts/data-inspector.js +5 -0
- package/dist/prompts/date.d.ts +12 -0
- package/dist/prompts/date.js +2 -0
- package/dist/prompts/dependency.d.ts +16 -0
- package/dist/prompts/dependency.js +3 -0
- package/dist/prompts/dial.d.ts +10 -0
- package/dist/prompts/dial.js +3 -0
- package/dist/prompts/diff.d.ts +10 -0
- package/dist/prompts/diff.js +10 -0
- package/dist/prompts/draw.d.ts +20 -0
- package/dist/prompts/draw.js +6 -0
- package/dist/prompts/editor.d.ts +14 -0
- package/dist/prompts/editor.js +2 -0
- package/dist/prompts/emoji.d.ts +18 -0
- package/dist/prompts/emoji.js +5 -0
- package/dist/prompts/exec.d.ts +17 -0
- package/dist/prompts/exec.js +1 -0
- package/dist/prompts/file.d.ts +21 -0
- package/dist/prompts/file.js +2 -0
- package/dist/prompts/form.d.ts +18 -0
- package/dist/prompts/form.js +1 -0
- package/dist/prompts/fuzzy-multi-column.d.ts +12 -0
- package/dist/prompts/fuzzy-multi-column.js +2 -0
- package/dist/prompts/fuzzy.d.ts +12 -0
- package/dist/prompts/fuzzy.js +2 -0
- package/dist/prompts/gauge.d.ts +21 -0
- package/dist/prompts/gauge.js +4 -0
- package/dist/prompts/grid.d.ts +14 -0
- package/dist/prompts/grid.js +2 -0
- package/dist/prompts/heatmap.d.ts +13 -0
- package/dist/prompts/heatmap.js +2 -0
- package/dist/prompts/ip.d.ts +11 -0
- package/dist/prompts/ip.js +3 -0
- package/dist/prompts/kanban.d.ts +17 -0
- package/dist/prompts/kanban.js +4 -0
- package/dist/prompts/keypress.d.ts +7 -0
- package/dist/prompts/keypress.js +1 -0
- package/dist/prompts/license.d.ts +9 -0
- package/dist/prompts/license.js +13 -0
- package/dist/prompts/list.d.ts +9 -0
- package/dist/prompts/list.js +1 -0
- package/dist/prompts/map.d.ts +17 -0
- package/dist/prompts/map.js +5 -0
- package/dist/prompts/match.d.ts +19 -0
- package/dist/prompts/match.js +7 -0
- package/dist/prompts/miller.d.ts +15 -0
- package/dist/prompts/miller.js +2 -0
- package/dist/prompts/multi-column-select.d.ts +10 -0
- package/dist/prompts/multi-column-select.js +2 -0
- package/dist/prompts/multi-range.d.ts +9 -0
- package/dist/prompts/multi-range.js +3 -0
- package/dist/prompts/multi-select.d.ts +15 -0
- package/dist/prompts/multi-select.js +4 -0
- package/dist/prompts/number.d.ts +11 -0
- package/dist/prompts/number.js +2 -0
- package/dist/prompts/otp.d.ts +10 -0
- package/dist/prompts/otp.js +2 -0
- package/dist/prompts/pattern.d.ts +22 -0
- package/dist/prompts/pattern.js +4 -0
- package/dist/prompts/phone.d.ts +41 -0
- package/dist/prompts/phone.js +3 -0
- package/dist/prompts/quiz-select.d.ts +10 -0
- package/dist/prompts/quiz-select.js +7 -0
- package/dist/prompts/quiz-text.d.ts +11 -0
- package/dist/prompts/quiz-text.js +8 -0
- package/dist/prompts/range.d.ts +9 -0
- package/dist/prompts/range.js +1 -0
- package/dist/prompts/rating.d.ts +8 -0
- package/dist/prompts/rating.js +1 -0
- package/dist/prompts/regex.d.ts +13 -0
- package/dist/prompts/regex.js +5 -0
- package/dist/prompts/region.d.ts +11 -0
- package/dist/prompts/region.js +5 -0
- package/dist/prompts/schedule.d.ts +20 -0
- package/dist/prompts/schedule.js +5 -0
- package/dist/prompts/scroll.d.ts +13 -0
- package/dist/prompts/scroll.js +1 -0
- package/dist/prompts/seat.d.ts +17 -0
- package/dist/prompts/seat.js +5 -0
- package/dist/prompts/select-range.d.ts +8 -0
- package/dist/prompts/select-range.js +3 -0
- package/dist/prompts/select.d.ts +15 -0
- package/dist/prompts/select.js +2 -0
- package/dist/prompts/semver.d.ts +6 -0
- package/dist/prompts/semver.js +1 -0
- package/dist/prompts/shortcut.d.ts +9 -0
- package/dist/prompts/shortcut.js +1 -0
- package/dist/prompts/slider.d.ts +8 -0
- package/dist/prompts/slider.js +1 -0
- package/dist/prompts/slot.d.ts +16 -0
- package/dist/prompts/slot.js +8 -0
- package/dist/prompts/snippet.d.ts +19 -0
- package/dist/prompts/snippet.js +4 -0
- package/dist/prompts/sort-grid.d.ts +16 -0
- package/dist/prompts/sort-grid.js +2 -0
- package/dist/prompts/sort.d.ts +14 -0
- package/dist/prompts/sort.js +2 -0
- package/dist/prompts/spam.d.ts +17 -0
- package/dist/prompts/spam.js +2 -0
- package/dist/prompts/spreadsheet.d.ts +21 -0
- package/dist/prompts/spreadsheet.js +7 -0
- package/dist/prompts/table.d.ts +14 -0
- package/dist/prompts/table.js +3 -0
- package/dist/prompts/text.d.ts +17 -0
- package/dist/prompts/text.js +2 -0
- package/dist/prompts/time.d.ts +12 -0
- package/dist/prompts/time.js +2 -0
- package/dist/prompts/toggle.d.ts +8 -0
- package/dist/prompts/toggle.js +1 -0
- package/dist/prompts/transfer.d.ts +18 -0
- package/dist/prompts/transfer.js +5 -0
- package/dist/prompts/tree-select.d.ts +31 -0
- package/dist/prompts/tree-select.js +3 -0
- package/dist/prompts/tree.d.ts +20 -0
- package/dist/prompts/tree.js +3 -0
- package/dist/prompts/wait.d.ts +18 -0
- package/dist/prompts/wait.js +1 -0
- package/dist/spinner.d.ts +33 -0
- package/dist/spinner.js +3 -0
- package/dist/symbols.d.ts +33 -0
- package/dist/symbols.js +1 -0
- package/dist/tasks.d.ts +57 -0
- package/dist/tasks.js +1 -0
- package/dist/theme.d.ts +2 -0
- package/dist/theme.js +1 -0
- package/dist/types.d.ts +503 -0
- package/dist/types.js +1 -0
- package/dist/utils.d.ts +81 -0
- package/dist/utils.js +1 -0
- package/package.json +8 -9
- package/dist/src/ansi.js +0 -50
- package/dist/src/ansi.js.map +0 -1
- package/dist/src/base.js +0 -258
- package/dist/src/base.js.map +0 -1
- package/dist/src/core.js.map +0 -1
- package/dist/src/data/countries.js +0 -569
- package/dist/src/data/countries.js.map +0 -1
- package/dist/src/data/licenses.js +0 -480
- package/dist/src/data/licenses.js.map +0 -1
- package/dist/src/highlight.js +0 -185
- package/dist/src/highlight.js.map +0 -1
- package/dist/src/index.js +0 -66
- package/dist/src/index.js.map +0 -1
- package/dist/src/input.js +0 -158
- package/dist/src/input.js.map +0 -1
- package/dist/src/pipeline.js +0 -273
- package/dist/src/pipeline.js.map +0 -1
- package/dist/src/prompts/autocomplete.js +0 -171
- package/dist/src/prompts/autocomplete.js.map +0 -1
- package/dist/src/prompts/box.js +0 -225
- package/dist/src/prompts/box.js.map +0 -1
- package/dist/src/prompts/breadcrumb-search.js +0 -260
- package/dist/src/prompts/breadcrumb-search.js.map +0 -1
- package/dist/src/prompts/breadcrumb.js +0 -307
- package/dist/src/prompts/breadcrumb.js.map +0 -1
- package/dist/src/prompts/byte.js +0 -176
- package/dist/src/prompts/byte.js.map +0 -1
- package/dist/src/prompts/calculator.js +0 -243
- package/dist/src/prompts/calculator.js.map +0 -1
- package/dist/src/prompts/calendar.js +0 -430
- package/dist/src/prompts/calendar.js.map +0 -1
- package/dist/src/prompts/checkbox.js +0 -159
- package/dist/src/prompts/checkbox.js.map +0 -1
- package/dist/src/prompts/code.js +0 -271
- package/dist/src/prompts/code.js.map +0 -1
- package/dist/src/prompts/color.js +0 -165
- package/dist/src/prompts/color.js.map +0 -1
- package/dist/src/prompts/confirm.js +0 -55
- package/dist/src/prompts/confirm.js.map +0 -1
- package/dist/src/prompts/connection-string.js +0 -120
- package/dist/src/prompts/connection-string.js.map +0 -1
- package/dist/src/prompts/cron.js +0 -207
- package/dist/src/prompts/cron.js.map +0 -1
- package/dist/src/prompts/curl-utils.js +0 -71
- package/dist/src/prompts/curl-utils.js.map +0 -1
- package/dist/src/prompts/curl.js +0 -431
- package/dist/src/prompts/curl.js.map +0 -1
- package/dist/src/prompts/data-inspector.js +0 -261
- package/dist/src/prompts/data-inspector.js.map +0 -1
- package/dist/src/prompts/date.js +0 -185
- package/dist/src/prompts/date.js.map +0 -1
- package/dist/src/prompts/dependency.js +0 -283
- package/dist/src/prompts/dependency.js.map +0 -1
- package/dist/src/prompts/dial.js +0 -124
- package/dist/src/prompts/dial.js.map +0 -1
- package/dist/src/prompts/diff.js +0 -118
- package/dist/src/prompts/diff.js.map +0 -1
- package/dist/src/prompts/draw.js +0 -191
- package/dist/src/prompts/draw.js.map +0 -1
- package/dist/src/prompts/editor.js +0 -234
- package/dist/src/prompts/editor.js.map +0 -1
- package/dist/src/prompts/emoji.js +0 -226
- package/dist/src/prompts/emoji.js.map +0 -1
- package/dist/src/prompts/exec.js +0 -151
- package/dist/src/prompts/exec.js.map +0 -1
- package/dist/src/prompts/file.js +0 -217
- package/dist/src/prompts/file.js.map +0 -1
- package/dist/src/prompts/form.js +0 -241
- package/dist/src/prompts/form.js.map +0 -1
- package/dist/src/prompts/fuzzy-multi-column.js +0 -161
- package/dist/src/prompts/fuzzy-multi-column.js.map +0 -1
- package/dist/src/prompts/fuzzy.js +0 -147
- package/dist/src/prompts/fuzzy.js.map +0 -1
- package/dist/src/prompts/gauge.js +0 -137
- package/dist/src/prompts/gauge.js.map +0 -1
- package/dist/src/prompts/grid.js +0 -191
- package/dist/src/prompts/grid.js.map +0 -1
- package/dist/src/prompts/heatmap.js +0 -147
- package/dist/src/prompts/heatmap.js.map +0 -1
- package/dist/src/prompts/ip.js +0 -138
- package/dist/src/prompts/ip.js.map +0 -1
- package/dist/src/prompts/kanban.js +0 -233
- package/dist/src/prompts/kanban.js.map +0 -1
- package/dist/src/prompts/keypress.js +0 -54
- package/dist/src/prompts/keypress.js.map +0 -1
- package/dist/src/prompts/license.js +0 -144
- package/dist/src/prompts/license.js.map +0 -1
- package/dist/src/prompts/list.js +0 -124
- package/dist/src/prompts/list.js.map +0 -1
- package/dist/src/prompts/map.js +0 -262
- package/dist/src/prompts/map.js.map +0 -1
- package/dist/src/prompts/match.js +0 -271
- package/dist/src/prompts/match.js.map +0 -1
- package/dist/src/prompts/miller.js +0 -228
- package/dist/src/prompts/miller.js.map +0 -1
- package/dist/src/prompts/multi-column-select.js +0 -176
- package/dist/src/prompts/multi-column-select.js.map +0 -1
- package/dist/src/prompts/multi-range.js +0 -189
- package/dist/src/prompts/multi-range.js.map +0 -1
- package/dist/src/prompts/multi-select.js +0 -183
- package/dist/src/prompts/multi-select.js.map +0 -1
- package/dist/src/prompts/number.js +0 -166
- package/dist/src/prompts/number.js.map +0 -1
- package/dist/src/prompts/otp.js +0 -107
- package/dist/src/prompts/otp.js.map +0 -1
- package/dist/src/prompts/pattern.js +0 -252
- package/dist/src/prompts/pattern.js.map +0 -1
- package/dist/src/prompts/phone.js +0 -398
- package/dist/src/prompts/phone.js.map +0 -1
- package/dist/src/prompts/quiz-select.js +0 -114
- package/dist/src/prompts/quiz-select.js.map +0 -1
- package/dist/src/prompts/quiz-text.js +0 -98
- package/dist/src/prompts/quiz-text.js.map +0 -1
- package/dist/src/prompts/range.js +0 -164
- package/dist/src/prompts/range.js.map +0 -1
- package/dist/src/prompts/rating.js +0 -83
- package/dist/src/prompts/rating.js.map +0 -1
- package/dist/src/prompts/regex.js +0 -145
- package/dist/src/prompts/regex.js.map +0 -1
- package/dist/src/prompts/region.js +0 -170
- package/dist/src/prompts/region.js.map +0 -1
- package/dist/src/prompts/schedule.js +0 -270
- package/dist/src/prompts/schedule.js.map +0 -1
- package/dist/src/prompts/scroll.js +0 -155
- package/dist/src/prompts/scroll.js.map +0 -1
- package/dist/src/prompts/seat.js +0 -164
- package/dist/src/prompts/seat.js.map +0 -1
- package/dist/src/prompts/select-range.js +0 -148
- package/dist/src/prompts/select-range.js.map +0 -1
- package/dist/src/prompts/select.js +0 -163
- package/dist/src/prompts/select.js.map +0 -1
- package/dist/src/prompts/semver.js +0 -43
- package/dist/src/prompts/semver.js.map +0 -1
- package/dist/src/prompts/shortcut.js +0 -133
- package/dist/src/prompts/shortcut.js.map +0 -1
- package/dist/src/prompts/slider.js +0 -69
- package/dist/src/prompts/slider.js.map +0 -1
- package/dist/src/prompts/slot.js +0 -117
- package/dist/src/prompts/slot.js.map +0 -1
- package/dist/src/prompts/snippet.js +0 -228
- package/dist/src/prompts/snippet.js.map +0 -1
- package/dist/src/prompts/sort-grid.js +0 -151
- package/dist/src/prompts/sort-grid.js.map +0 -1
- package/dist/src/prompts/sort.js +0 -166
- package/dist/src/prompts/sort.js.map +0 -1
- package/dist/src/prompts/spam.js +0 -80
- package/dist/src/prompts/spam.js.map +0 -1
- package/dist/src/prompts/spreadsheet.js +0 -240
- package/dist/src/prompts/spreadsheet.js.map +0 -1
- package/dist/src/prompts/table.js +0 -120
- package/dist/src/prompts/table.js.map +0 -1
- package/dist/src/prompts/text.js +0 -317
- package/dist/src/prompts/text.js.map +0 -1
- package/dist/src/prompts/time.js +0 -211
- package/dist/src/prompts/time.js.map +0 -1
- package/dist/src/prompts/toggle.js +0 -53
- package/dist/src/prompts/toggle.js.map +0 -1
- package/dist/src/prompts/transfer.js +0 -207
- package/dist/src/prompts/transfer.js.map +0 -1
- package/dist/src/prompts/tree-select.js +0 -270
- package/dist/src/prompts/tree-select.js.map +0 -1
- package/dist/src/prompts/tree.js +0 -233
- package/dist/src/prompts/tree.js.map +0 -1
- package/dist/src/prompts/wait.js +0 -79
- package/dist/src/prompts/wait.js.map +0 -1
- package/dist/src/spinner.js +0 -105
- package/dist/src/spinner.js.map +0 -1
- package/dist/src/symbols.js +0 -66
- package/dist/src/symbols.js.map +0 -1
- package/dist/src/tasks.js +0 -231
- package/dist/src/tasks.js.map +0 -1
- package/dist/src/theme.js +0 -29
- package/dist/src/theme.js.map +0 -1
- package/dist/src/types.js +0 -8
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.js +0 -480
- package/dist/src/utils.js.map +0 -1
package/dist/src/prompts/tree.js
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "TreePrompt", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return TreePrompt;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _ansi = require("../ansi");
|
|
12
|
-
const _base = require("../base");
|
|
13
|
-
const _theme = require("../theme");
|
|
14
|
-
const _symbols = require("../symbols");
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
let TreePrompt = class TreePrompt extends _base.Prompt {
|
|
29
|
-
expandPathTo(value) {
|
|
30
|
-
const find = (nodes)=>{
|
|
31
|
-
for (const node of nodes){
|
|
32
|
-
if (node.value === value) return true;
|
|
33
|
-
if (node.children) {
|
|
34
|
-
if (find(node.children)) {
|
|
35
|
-
this.expandedNodes.add(node);
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return false;
|
|
41
|
-
};
|
|
42
|
-
find(this.options.data);
|
|
43
|
-
}
|
|
44
|
-
initializeExpanded(nodes) {
|
|
45
|
-
for (const node of nodes){
|
|
46
|
-
if (node.expanded) {
|
|
47
|
-
this.expandedNodes.add(node);
|
|
48
|
-
}
|
|
49
|
-
if (node.children) {
|
|
50
|
-
this.initializeExpanded(node.children);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
recalculateFlatList() {
|
|
55
|
-
this.flatList = [];
|
|
56
|
-
this.traverse(this.options.data, 0, null);
|
|
57
|
-
if (this.cursor >= this.flatList.length) {
|
|
58
|
-
this.cursor = Math.max(0, this.flatList.length - 1);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
traverse(nodes, depth, parent) {
|
|
62
|
-
for (const node of nodes){
|
|
63
|
-
this.flatList.push({
|
|
64
|
-
node,
|
|
65
|
-
depth,
|
|
66
|
-
parent
|
|
67
|
-
});
|
|
68
|
-
if (node.children && node.children.length > 0 && this.expandedNodes.has(node)) {
|
|
69
|
-
this.traverse(node.children, depth + 1, node);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
toggleRecursive(node, expand) {
|
|
74
|
-
if (expand) this.expandedNodes.add(node);
|
|
75
|
-
else this.expandedNodes.delete(node);
|
|
76
|
-
if (node.children) {
|
|
77
|
-
node.children.forEach((child)=>this.toggleRecursive(child, expand));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
render(_firstRender) {
|
|
81
|
-
let output = `${_theme.theme.success}?${_ansi.ANSI.RESET} ${_ansi.ANSI.BOLD}${_theme.theme.title}${this.options.message}${_ansi.ANSI.RESET}\n`;
|
|
82
|
-
if (this.flatList.length === 0) {
|
|
83
|
-
output += ` ${_theme.theme.muted}No data${_ansi.ANSI.RESET}`;
|
|
84
|
-
this.renderFrame(output);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (this.cursor < this.scrollTop) {
|
|
88
|
-
this.scrollTop = this.cursor;
|
|
89
|
-
} else if (this.cursor >= this.scrollTop + this.pageSize) {
|
|
90
|
-
this.scrollTop = this.cursor - this.pageSize + 1;
|
|
91
|
-
}
|
|
92
|
-
const visible = this.flatList.slice(this.scrollTop, this.scrollTop + this.pageSize);
|
|
93
|
-
visible.forEach((item, index)=>{
|
|
94
|
-
const actualIndex = this.scrollTop + index;
|
|
95
|
-
const isSelected = actualIndex === this.cursor;
|
|
96
|
-
const indentSize = this.options.indent || 2;
|
|
97
|
-
const indentation = ' '.repeat(item.depth * indentSize);
|
|
98
|
-
let linePrefix = '';
|
|
99
|
-
if (isSelected) {
|
|
100
|
-
linePrefix = `${_theme.theme.main}${_symbols.symbols.pointer} `;
|
|
101
|
-
} else {
|
|
102
|
-
linePrefix = ' ';
|
|
103
|
-
}
|
|
104
|
-
let icon = ' ';
|
|
105
|
-
const hasChildren = item.node.children && item.node.children.length > 0;
|
|
106
|
-
if (hasChildren) {
|
|
107
|
-
if (this.expandedNodes.has(item.node)) {
|
|
108
|
-
icon = `${this.ICON_OPEN} `;
|
|
109
|
-
} else {
|
|
110
|
-
icon = `${this.ICON_CLOSED} `;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
let title = item.node.title;
|
|
114
|
-
if (item.node.disabled) {
|
|
115
|
-
title = `${_theme.theme.muted}${title} (disabled)${_ansi.ANSI.RESET}`;
|
|
116
|
-
}
|
|
117
|
-
let line = `${indentation}${icon}${title}`;
|
|
118
|
-
if (isSelected) {
|
|
119
|
-
line = `${_theme.theme.main}${line}${_ansi.ANSI.RESET}`;
|
|
120
|
-
}
|
|
121
|
-
output += linePrefix + line;
|
|
122
|
-
if (index < visible.length - 1) output += '\n';
|
|
123
|
-
});
|
|
124
|
-
output += `\n${_theme.theme.muted}(Arrows: Nav, e: Expand All, c: Collapse All)${_ansi.ANSI.RESET}`;
|
|
125
|
-
this.renderFrame(output);
|
|
126
|
-
}
|
|
127
|
-
handleInput(char, _key) {
|
|
128
|
-
if (this.flatList.length === 0) return;
|
|
129
|
-
if (this.isUp(char)) {
|
|
130
|
-
this.cursor = (this.cursor - 1 + this.flatList.length) % this.flatList.length;
|
|
131
|
-
this.render(false);
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
if (this.isDown(char)) {
|
|
135
|
-
this.cursor = (this.cursor + 1) % this.flatList.length;
|
|
136
|
-
this.render(false);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const currentItem = this.flatList[this.cursor];
|
|
140
|
-
const node = currentItem.node;
|
|
141
|
-
const hasChildren = node.children && node.children.length > 0;
|
|
142
|
-
// Recursive Expand (e)
|
|
143
|
-
if (char === 'e' && hasChildren) {
|
|
144
|
-
this.toggleRecursive(node, true);
|
|
145
|
-
this.recalculateFlatList();
|
|
146
|
-
this.render(false);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
// Recursive Collapse (c)
|
|
150
|
-
if (char === 'c' && hasChildren) {
|
|
151
|
-
this.toggleRecursive(node, false);
|
|
152
|
-
this.recalculateFlatList();
|
|
153
|
-
this.render(false);
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
if (this.isRight(char)) {
|
|
157
|
-
if (hasChildren) {
|
|
158
|
-
if (!this.expandedNodes.has(node)) {
|
|
159
|
-
this.expandedNodes.add(node);
|
|
160
|
-
this.recalculateFlatList();
|
|
161
|
-
} else {
|
|
162
|
-
if (this.cursor + 1 < this.flatList.length) {
|
|
163
|
-
this.cursor++;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
this.render(false);
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
if (this.isLeft(char)) {
|
|
171
|
-
if (hasChildren && this.expandedNodes.has(node)) {
|
|
172
|
-
this.expandedNodes.delete(node);
|
|
173
|
-
this.recalculateFlatList();
|
|
174
|
-
this.render(false);
|
|
175
|
-
return;
|
|
176
|
-
} else {
|
|
177
|
-
if (currentItem.parent) {
|
|
178
|
-
const parentIndex = this.flatList.findIndex((x)=>x.node === currentItem.parent);
|
|
179
|
-
if (parentIndex !== -1) {
|
|
180
|
-
this.cursor = parentIndex;
|
|
181
|
-
this.render(false);
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
if (char === ' ') {
|
|
188
|
-
if (hasChildren) {
|
|
189
|
-
if (this.expandedNodes.has(node)) {
|
|
190
|
-
this.expandedNodes.delete(node);
|
|
191
|
-
} else {
|
|
192
|
-
this.expandedNodes.add(node);
|
|
193
|
-
}
|
|
194
|
-
this.recalculateFlatList();
|
|
195
|
-
this.render(false);
|
|
196
|
-
}
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
if (char === '\r' || char === '\n') {
|
|
200
|
-
if (!node.disabled) {
|
|
201
|
-
this.submit(node.value);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
handleMouse(event) {
|
|
206
|
-
if (event.action === 'scroll') {
|
|
207
|
-
if (event.scroll === 'up') {
|
|
208
|
-
this.cursor = (this.cursor - 1 + this.flatList.length) % this.flatList.length;
|
|
209
|
-
this.render(false);
|
|
210
|
-
} else if (event.scroll === 'down') {
|
|
211
|
-
this.cursor = (this.cursor + 1) % this.flatList.length;
|
|
212
|
-
this.render(false);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
constructor(options){
|
|
217
|
-
super(options), _define_property(this, "cursor", 0), _define_property(this, "expandedNodes", new Set()), _define_property(this, "flatList", []), _define_property(this, "scrollTop", 0), _define_property(this, "pageSize", 15), // Icons
|
|
218
|
-
_define_property(this, "ICON_CLOSED", _symbols.symbols.pointer === '>' ? '+' : '▸'), _define_property(this, "ICON_OPEN", _symbols.symbols.pointer === '>' ? '-' : '▾');
|
|
219
|
-
this.initializeExpanded(this.options.data);
|
|
220
|
-
if (this.options.initial !== undefined) {
|
|
221
|
-
this.expandPathTo(this.options.initial);
|
|
222
|
-
}
|
|
223
|
-
this.recalculateFlatList();
|
|
224
|
-
if (this.options.initial !== undefined) {
|
|
225
|
-
const index = this.flatList.findIndex((item)=>item.node.value === this.options.initial);
|
|
226
|
-
if (index !== -1) {
|
|
227
|
-
this.cursor = index;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prompts/tree.ts"],"sourcesContent":["import { ANSI } from '../ansi';\nimport { Prompt } from '../base';\nimport { theme } from '../theme';\nimport { symbols } from '../symbols';\nimport { TreeOptions, TreeNode, MouseEvent } from '../types';\n\ninterface FlatNode<V> {\n node: TreeNode<V>;\n depth: number;\n parent: TreeNode<V> | null;\n}\n\nexport class TreePrompt<V> extends Prompt<V, TreeOptions<V>> {\n private cursor: number = 0;\n private expandedNodes: Set<TreeNode<V>> = new Set();\n private flatList: FlatNode<V>[] = [];\n private scrollTop: number = 0;\n private readonly pageSize: number = 15;\n\n // Icons\n private readonly ICON_CLOSED = symbols.pointer === '>' ? '+' : '▸';\n private readonly ICON_OPEN = symbols.pointer === '>' ? '-' : '▾';\n\n constructor(options: TreeOptions<V>) {\n super(options);\n this.initializeExpanded(this.options.data);\n if (this.options.initial !== undefined) {\n this.expandPathTo(this.options.initial);\n }\n this.recalculateFlatList();\n\n if (this.options.initial !== undefined) {\n const index = this.flatList.findIndex(item => item.node.value === this.options.initial);\n if (index !== -1) {\n this.cursor = index;\n }\n }\n }\n\n private expandPathTo(value: V) {\n const find = (nodes: TreeNode<V>[]): boolean => {\n for (const node of nodes) {\n if (node.value === value) return true;\n if (node.children) {\n if (find(node.children)) {\n this.expandedNodes.add(node);\n return true;\n }\n }\n }\n return false;\n };\n find(this.options.data);\n }\n\n private initializeExpanded(nodes: TreeNode<V>[]) {\n for (const node of nodes) {\n if (node.expanded) {\n this.expandedNodes.add(node);\n }\n if (node.children) {\n this.initializeExpanded(node.children);\n }\n }\n }\n\n private recalculateFlatList() {\n this.flatList = [];\n this.traverse(this.options.data, 0, null);\n if (this.cursor >= this.flatList.length) {\n this.cursor = Math.max(0, this.flatList.length - 1);\n }\n }\n\n private traverse(nodes: TreeNode<V>[], depth: number, parent: TreeNode<V> | null) {\n for (const node of nodes) {\n this.flatList.push({\n node,\n depth,\n parent\n });\n\n if (node.children && node.children.length > 0 && this.expandedNodes.has(node)) {\n this.traverse(node.children, depth + 1, node);\n }\n }\n }\n\n private toggleRecursive(node: TreeNode<V>, expand: boolean) {\n if (expand) this.expandedNodes.add(node);\n else this.expandedNodes.delete(node);\n\n if (node.children) {\n node.children.forEach(child => this.toggleRecursive(child, expand));\n }\n }\n\n protected render(_firstRender: boolean) {\n let output = `${theme.success}?${ANSI.RESET} ${ANSI.BOLD}${theme.title}${this.options.message}${ANSI.RESET}\\n`;\n\n if (this.flatList.length === 0) {\n output += ` ${theme.muted}No data${ANSI.RESET}`;\n this.renderFrame(output);\n return;\n }\n\n if (this.cursor < this.scrollTop) {\n this.scrollTop = this.cursor;\n } else if (this.cursor >= this.scrollTop + this.pageSize) {\n this.scrollTop = this.cursor - this.pageSize + 1;\n }\n\n const visible = this.flatList.slice(this.scrollTop, this.scrollTop + this.pageSize);\n\n visible.forEach((item, index) => {\n const actualIndex = this.scrollTop + index;\n const isSelected = actualIndex === this.cursor;\n\n const indentSize = this.options.indent || 2;\n const indentation = ' '.repeat(item.depth * indentSize);\n\n let linePrefix = '';\n if (isSelected) {\n linePrefix = `${theme.main}${symbols.pointer} `;\n } else {\n linePrefix = ' ';\n }\n\n let icon = ' ';\n const hasChildren = item.node.children && item.node.children.length > 0;\n\n if (hasChildren) {\n if (this.expandedNodes.has(item.node)) {\n icon = `${this.ICON_OPEN} `;\n } else {\n icon = `${this.ICON_CLOSED} `;\n }\n }\n\n let title = item.node.title;\n if (item.node.disabled) {\n title = `${theme.muted}${title} (disabled)${ANSI.RESET}`;\n }\n\n let line = `${indentation}${icon}${title}`;\n if (isSelected) {\n line = `${theme.main}${line}${ANSI.RESET}`;\n }\n\n output += linePrefix + line;\n if (index < visible.length - 1) output += '\\n';\n });\n\n output += `\\n${theme.muted}(Arrows: Nav, e: Expand All, c: Collapse All)${ANSI.RESET}`;\n\n this.renderFrame(output);\n }\n\n protected handleInput(char: string, _key: Buffer) {\n if (this.flatList.length === 0) return;\n\n if (this.isUp(char)) {\n this.cursor = (this.cursor - 1 + this.flatList.length) % this.flatList.length;\n this.render(false);\n return;\n }\n if (this.isDown(char)) {\n this.cursor = (this.cursor + 1) % this.flatList.length;\n this.render(false);\n return;\n }\n\n const currentItem = this.flatList[this.cursor];\n const node = currentItem.node;\n const hasChildren = node.children && node.children.length > 0;\n\n // Recursive Expand (e)\n if (char === 'e' && hasChildren) {\n this.toggleRecursive(node, true);\n this.recalculateFlatList();\n this.render(false);\n return;\n }\n\n // Recursive Collapse (c)\n if (char === 'c' && hasChildren) {\n this.toggleRecursive(node, false);\n this.recalculateFlatList();\n this.render(false);\n return;\n }\n\n if (this.isRight(char)) {\n if (hasChildren) {\n if (!this.expandedNodes.has(node)) {\n this.expandedNodes.add(node);\n this.recalculateFlatList();\n } else {\n if (this.cursor + 1 < this.flatList.length) {\n this.cursor++;\n }\n }\n this.render(false);\n return;\n }\n }\n\n if (this.isLeft(char)) {\n if (hasChildren && this.expandedNodes.has(node)) {\n this.expandedNodes.delete(node);\n this.recalculateFlatList();\n this.render(false);\n return;\n } else {\n if (currentItem.parent) {\n const parentIndex = this.flatList.findIndex(x => x.node === currentItem.parent);\n if (parentIndex !== -1) {\n this.cursor = parentIndex;\n this.render(false);\n return;\n }\n }\n }\n }\n\n if (char === ' ') {\n if (hasChildren) {\n if (this.expandedNodes.has(node)) {\n this.expandedNodes.delete(node);\n } else {\n this.expandedNodes.add(node);\n }\n this.recalculateFlatList();\n this.render(false);\n }\n return;\n }\n\n if (char === '\\r' || char === '\\n') {\n if (!node.disabled) {\n this.submit(node.value);\n }\n }\n }\n\n protected handleMouse(event: MouseEvent) {\n if (event.action === 'scroll') {\n if (event.scroll === 'up') {\n this.cursor = (this.cursor - 1 + this.flatList.length) % this.flatList.length;\n this.render(false);\n } else if (event.scroll === 'down') {\n this.cursor = (this.cursor + 1) % this.flatList.length;\n this.render(false);\n }\n }\n }\n}\n"],"names":["TreePrompt","Prompt","expandPathTo","value","find","nodes","node","children","expandedNodes","add","options","data","initializeExpanded","expanded","recalculateFlatList","flatList","traverse","cursor","length","Math","max","depth","parent","push","has","toggleRecursive","expand","delete","forEach","child","render","_firstRender","output","theme","success","ANSI","RESET","BOLD","title","message","muted","renderFrame","scrollTop","pageSize","visible","slice","item","index","actualIndex","isSelected","indentSize","indent","indentation","repeat","linePrefix","main","symbols","pointer","icon","hasChildren","ICON_OPEN","ICON_CLOSED","disabled","line","handleInput","char","_key","isUp","isDown","currentItem","isRight","isLeft","parentIndex","findIndex","x","submit","handleMouse","event","action","scroll","Set","initial","undefined"],"mappings":"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"}
|
package/dist/src/prompts/wait.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
// src/prompts/wait.ts
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "WaitPrompt", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function() {
|
|
9
|
-
return WaitPrompt;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const _ansi = require("../ansi");
|
|
13
|
-
const _base = require("../base");
|
|
14
|
-
const _theme = require("../theme");
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
let WaitPrompt = class WaitPrompt extends _base.Prompt {
|
|
29
|
-
run() {
|
|
30
|
-
// Start the countdown immediately upon running
|
|
31
|
-
this.timer = setInterval(()=>{
|
|
32
|
-
this.remaining--;
|
|
33
|
-
if (this.remaining <= 0) {
|
|
34
|
-
this.isDone = true;
|
|
35
|
-
this.stopTimer();
|
|
36
|
-
if (this.options.autoSubmit) {
|
|
37
|
-
this.submit();
|
|
38
|
-
} else {
|
|
39
|
-
this.render(false);
|
|
40
|
-
}
|
|
41
|
-
} else {
|
|
42
|
-
this.render(false);
|
|
43
|
-
}
|
|
44
|
-
}, 1000);
|
|
45
|
-
return super.run();
|
|
46
|
-
}
|
|
47
|
-
stopTimer() {
|
|
48
|
-
if (this.timer) {
|
|
49
|
-
clearInterval(this.timer);
|
|
50
|
-
this.timer = undefined;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
cleanup() {
|
|
54
|
-
this.stopTimer();
|
|
55
|
-
super.cleanup();
|
|
56
|
-
}
|
|
57
|
-
render(_firstRender) {
|
|
58
|
-
let output = `${_theme.theme.title}${this.options.message}${_ansi.ANSI.RESET} `;
|
|
59
|
-
if (this.isDone) {
|
|
60
|
-
output += `${_theme.theme.success}Done! Press Enter to continue.${_ansi.ANSI.RESET}`;
|
|
61
|
-
} else {
|
|
62
|
-
// Fun countdown visualization
|
|
63
|
-
output += `${_theme.theme.muted}Please wait... ${this.remaining}s${_ansi.ANSI.RESET}`;
|
|
64
|
-
}
|
|
65
|
-
this.renderFrame(output);
|
|
66
|
-
}
|
|
67
|
-
handleInput(char) {
|
|
68
|
-
if (this.isDone && (char === '\r' || char === '\n')) {
|
|
69
|
-
this.submit();
|
|
70
|
-
}
|
|
71
|
-
// Else: Ignore all input while waiting
|
|
72
|
-
}
|
|
73
|
-
constructor(options){
|
|
74
|
-
super(options), _define_property(this, "remaining", void 0), _define_property(this, "timer", void 0), _define_property(this, "isDone", false);
|
|
75
|
-
this.remaining = options.seconds;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
//# sourceMappingURL=wait.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prompts/wait.ts"],"sourcesContent":["// src/prompts/wait.ts\nimport { ANSI } from '../ansi';\nimport { Prompt } from '../base';\nimport { theme } from '../theme';\nimport { BaseOptions } from '../types';\n\ninterface WaitOptions extends BaseOptions {\n seconds: number;\n autoSubmit?: boolean; // If true, resolves automatically when time is up\n}\n\nexport class WaitPrompt extends Prompt<void, WaitOptions> {\n private remaining: number;\n private timer?: NodeJS.Timeout;\n private isDone: boolean = false;\n\n constructor(options: WaitOptions) {\n super(options);\n this.remaining = options.seconds;\n }\n\n public run(): Promise<void> {\n // Start the countdown immediately upon running\n this.timer = setInterval(() => {\n this.remaining--;\n if (this.remaining <= 0) {\n this.isDone = true;\n this.stopTimer();\n\n if (this.options.autoSubmit) {\n this.submit();\n } else {\n this.render(false);\n }\n } else {\n this.render(false);\n }\n }, 1000);\n\n return super.run();\n }\n\n private stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n protected cleanup() {\n this.stopTimer();\n super.cleanup();\n }\n\n protected render(_firstRender: boolean) {\n let output = `${theme.title}${this.options.message}${ANSI.RESET} `;\n\n if (this.isDone) {\n output += `${theme.success}Done! Press Enter to continue.${ANSI.RESET}`;\n } else {\n // Fun countdown visualization\n output += `${theme.muted}Please wait... ${this.remaining}s${ANSI.RESET}`;\n }\n\n this.renderFrame(output);\n }\n\n protected handleInput(char: string) {\n if (this.isDone && (char === '\\r' || char === '\\n')) {\n this.submit();\n }\n // Else: Ignore all input while waiting\n }\n}"],"names":["WaitPrompt","Prompt","run","timer","setInterval","remaining","isDone","stopTimer","options","autoSubmit","submit","render","clearInterval","undefined","cleanup","_firstRender","output","theme","title","message","ANSI","RESET","success","muted","renderFrame","handleInput","char","seconds"],"mappings":"AAAA,sBAAsB;;;;;+BAWTA;;;eAAAA;;;sBAVQ;sBACE;uBACD;;;;;;;;;;;;;;AAQf,IAAA,AAAMA,aAAN,MAAMA,mBAAmBC,YAAM;IAU3BC,MAAqB;QACxB,+CAA+C;QAC/C,IAAI,CAACC,KAAK,GAAGC,YAAY;YACrB,IAAI,CAACC,SAAS;YACd,IAAI,IAAI,CAACA,SAAS,IAAI,GAAG;gBACrB,IAAI,CAACC,MAAM,GAAG;gBACd,IAAI,CAACC,SAAS;gBAEd,IAAI,IAAI,CAACC,OAAO,CAACC,UAAU,EAAE;oBACzB,IAAI,CAACC,MAAM;gBACf,OAAO;oBACH,IAAI,CAACC,MAAM,CAAC;gBAChB;YACJ,OAAO;gBACH,IAAI,CAACA,MAAM,CAAC;YAChB;QACJ,GAAG;QAEH,OAAO,KAAK,CAACT;IACjB;IAEQK,YAAY;QAChB,IAAI,IAAI,CAACJ,KAAK,EAAE;YACZS,cAAc,IAAI,CAACT,KAAK;YACxB,IAAI,CAACA,KAAK,GAAGU;QACjB;IACJ;IAEUC,UAAU;QAChB,IAAI,CAACP,SAAS;QACd,KAAK,CAACO;IACV;IAEUH,OAAOI,YAAqB,EAAE;QACpC,IAAIC,SAAS,GAAGC,YAAK,CAACC,KAAK,GAAG,IAAI,CAACV,OAAO,CAACW,OAAO,GAAGC,UAAI,CAACC,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,IAAI,CAACf,MAAM,EAAE;YACbU,UAAU,GAAGC,YAAK,CAACK,OAAO,CAAC,8BAA8B,EAAEF,UAAI,CAACC,KAAK,EAAE;QAC3E,OAAO;YACH,8BAA8B;YAC9BL,UAAU,GAAGC,YAAK,CAACM,KAAK,CAAC,eAAe,EAAE,IAAI,CAAClB,SAAS,CAAC,CAAC,EAAEe,UAAI,CAACC,KAAK,EAAE;QAC5E;QAEA,IAAI,CAACG,WAAW,CAACR;IACrB;IAEUS,YAAYC,IAAY,EAAE;QAChC,IAAI,IAAI,CAACpB,MAAM,IAAKoB,CAAAA,SAAS,QAAQA,SAAS,IAAG,GAAI;YACjD,IAAI,CAAChB,MAAM;QACf;IACA,uCAAuC;IAC3C;IAxDA,YAAYF,OAAoB,CAAE;QAC9B,KAAK,CAACA,UALV,uBAAQH,aAAR,KAAA,IACA,uBAAQF,SAAR,KAAA,IACA,uBAAQG,UAAkB;QAItB,IAAI,CAACD,SAAS,GAAGG,QAAQmB,OAAO;IACpC;AAsDJ"}
|
package/dist/src/spinner.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "Spinner", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Spinner;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _ansi = require("./ansi");
|
|
12
|
-
const _symbols = require("./symbols");
|
|
13
|
-
const _theme = require("./theme");
|
|
14
|
-
function _define_property(obj, key, value) {
|
|
15
|
-
if (key in obj) {
|
|
16
|
-
Object.defineProperty(obj, key, {
|
|
17
|
-
value: value,
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true
|
|
21
|
-
});
|
|
22
|
-
} else {
|
|
23
|
-
obj[key] = value;
|
|
24
|
-
}
|
|
25
|
-
return obj;
|
|
26
|
-
}
|
|
27
|
-
let Spinner = class Spinner {
|
|
28
|
-
/**
|
|
29
|
-
* Starts the spinner animation.
|
|
30
|
-
*/ start() {
|
|
31
|
-
if (this.isSpinning) return this;
|
|
32
|
-
this.isSpinning = true;
|
|
33
|
-
process.stdout.write(_ansi.ANSI.HIDE_CURSOR);
|
|
34
|
-
// Render immediately
|
|
35
|
-
this.render();
|
|
36
|
-
// Start loop
|
|
37
|
-
this.timer = setInterval(()=>{
|
|
38
|
-
this.render();
|
|
39
|
-
}, 80);
|
|
40
|
-
// Register signal handler to restore cursor on Ctrl+C
|
|
41
|
-
process.on('SIGINT', this.handleSignal);
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Stops the spinner animation.
|
|
46
|
-
*/ stop() {
|
|
47
|
-
if (this.timer) {
|
|
48
|
-
clearInterval(this.timer);
|
|
49
|
-
this.timer = undefined;
|
|
50
|
-
}
|
|
51
|
-
if (this.isSpinning) {
|
|
52
|
-
this.isSpinning = false;
|
|
53
|
-
process.stdout.write(_ansi.ANSI.SHOW_CURSOR);
|
|
54
|
-
process.removeListener('SIGINT', this.handleSignal);
|
|
55
|
-
}
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Updates the spinner text.
|
|
60
|
-
*/ update(text) {
|
|
61
|
-
this.text = text;
|
|
62
|
-
return this;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Stops the spinner and shows a success message.
|
|
66
|
-
*/ success(message) {
|
|
67
|
-
this.stop();
|
|
68
|
-
const text = message ?? this.text;
|
|
69
|
-
process.stdout.write(`${_ansi.ANSI.ERASE_LINE}${_ansi.ANSI.CURSOR_LEFT}${_theme.theme.success}${_symbols.symbols.tick}${_ansi.ANSI.RESET} ${text}\n`);
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Stops the spinner and shows an error message.
|
|
74
|
-
*/ error(message) {
|
|
75
|
-
this.stop();
|
|
76
|
-
const text = message ?? this.text;
|
|
77
|
-
process.stdout.write(`${_ansi.ANSI.ERASE_LINE}${_ansi.ANSI.CURSOR_LEFT}${_theme.theme.error}${_symbols.symbols.cross}${_ansi.ANSI.RESET} ${text}\n`);
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Stops the spinner and clears the line.
|
|
82
|
-
*/ clear() {
|
|
83
|
-
this.stop();
|
|
84
|
-
process.stdout.write(`${_ansi.ANSI.ERASE_LINE}${_ansi.ANSI.CURSOR_LEFT}`);
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
render() {
|
|
88
|
-
const frame = _symbols.symbols.spinner[this.frameIndex];
|
|
89
|
-
process.stdout.write(`${_ansi.ANSI.ERASE_LINE}${_ansi.ANSI.CURSOR_LEFT}${_theme.theme.main}${frame}${_ansi.ANSI.RESET} ${this.text}`);
|
|
90
|
-
this.frameIndex = (this.frameIndex + 1) % _symbols.symbols.spinner.length;
|
|
91
|
-
}
|
|
92
|
-
constructor(text){
|
|
93
|
-
_define_property(this, "text", void 0);
|
|
94
|
-
_define_property(this, "timer", void 0);
|
|
95
|
-
_define_property(this, "frameIndex", 0);
|
|
96
|
-
_define_property(this, "isSpinning", false);
|
|
97
|
-
_define_property(this, "handleSignal", ()=>{
|
|
98
|
-
this.stop();
|
|
99
|
-
process.exit(0);
|
|
100
|
-
});
|
|
101
|
-
this.text = text;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
//# sourceMappingURL=spinner.js.map
|
package/dist/src/spinner.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/spinner.ts"],"sourcesContent":["import { ANSI } from './ansi';\nimport { symbols } from './symbols';\nimport { theme } from './theme';\n\nexport class Spinner {\n private text: string;\n private timer?: NodeJS.Timeout;\n private frameIndex: number = 0;\n private isSpinning: boolean = false;\n\n constructor(text: string) {\n this.text = text;\n }\n\n /**\n * Starts the spinner animation.\n */\n public start(): this {\n if (this.isSpinning) return this;\n\n this.isSpinning = true;\n process.stdout.write(ANSI.HIDE_CURSOR);\n\n // Render immediately\n this.render();\n\n // Start loop\n this.timer = setInterval(() => {\n this.render();\n }, 80);\n\n // Register signal handler to restore cursor on Ctrl+C\n process.on('SIGINT', this.handleSignal);\n\n return this;\n }\n\n /**\n * Stops the spinner animation.\n */\n public stop(): this {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n\n if (this.isSpinning) {\n this.isSpinning = false;\n process.stdout.write(ANSI.SHOW_CURSOR);\n process.removeListener('SIGINT', this.handleSignal);\n }\n\n return this;\n }\n\n /**\n * Updates the spinner text.\n */\n public update(text: string): this {\n this.text = text;\n return this;\n }\n\n /**\n * Stops the spinner and shows a success message.\n */\n public success(message?: string): this {\n this.stop();\n const text = message ?? this.text;\n process.stdout.write(`${ANSI.ERASE_LINE}${ANSI.CURSOR_LEFT}${theme.success}${symbols.tick}${ANSI.RESET} ${text}\\n`);\n return this;\n }\n\n /**\n * Stops the spinner and shows an error message.\n */\n public error(message?: string): this {\n this.stop();\n const text = message ?? this.text;\n process.stdout.write(`${ANSI.ERASE_LINE}${ANSI.CURSOR_LEFT}${theme.error}${symbols.cross}${ANSI.RESET} ${text}\\n`);\n return this;\n }\n\n /**\n * Stops the spinner and clears the line.\n */\n public clear(): this {\n this.stop();\n process.stdout.write(`${ANSI.ERASE_LINE}${ANSI.CURSOR_LEFT}`);\n return this;\n }\n\n private render(): void {\n const frame = symbols.spinner[this.frameIndex];\n process.stdout.write(`${ANSI.ERASE_LINE}${ANSI.CURSOR_LEFT}${theme.main}${frame}${ANSI.RESET} ${this.text}`);\n this.frameIndex = (this.frameIndex + 1) % symbols.spinner.length;\n }\n\n private handleSignal = () => {\n this.stop();\n process.exit(0);\n };\n}\n"],"names":["Spinner","start","isSpinning","process","stdout","write","ANSI","HIDE_CURSOR","render","timer","setInterval","on","handleSignal","stop","clearInterval","undefined","SHOW_CURSOR","removeListener","update","text","success","message","ERASE_LINE","CURSOR_LEFT","theme","symbols","tick","RESET","error","cross","clear","frame","spinner","frameIndex","main","length","exit"],"mappings":"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"}
|
package/dist/src/symbols.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "symbols", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return symbols;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _utils = require("./utils");
|
|
12
|
-
const UnicodeSymbols = {
|
|
13
|
-
tick: '✔',
|
|
14
|
-
cross: '✖',
|
|
15
|
-
pointer: '❯',
|
|
16
|
-
line: '─',
|
|
17
|
-
checked: '◉',
|
|
18
|
-
unchecked: '◯',
|
|
19
|
-
spinner: [
|
|
20
|
-
'⠋',
|
|
21
|
-
'⠙',
|
|
22
|
-
'⠹',
|
|
23
|
-
'⠸',
|
|
24
|
-
'⠼',
|
|
25
|
-
'⠴',
|
|
26
|
-
'⠦',
|
|
27
|
-
'⠧',
|
|
28
|
-
'⠇',
|
|
29
|
-
'⠏'
|
|
30
|
-
],
|
|
31
|
-
star: '★',
|
|
32
|
-
starEmpty: '☆',
|
|
33
|
-
topLeft: '┌',
|
|
34
|
-
topRight: '┐',
|
|
35
|
-
bottomLeft: '└',
|
|
36
|
-
bottomRight: '┘',
|
|
37
|
-
horizontal: '─',
|
|
38
|
-
vertical: '│'
|
|
39
|
-
};
|
|
40
|
-
const AsciiSymbols = {
|
|
41
|
-
tick: '+',
|
|
42
|
-
cross: 'x',
|
|
43
|
-
pointer: '>',
|
|
44
|
-
line: '-',
|
|
45
|
-
checked: '[x]',
|
|
46
|
-
unchecked: '[ ]',
|
|
47
|
-
spinner: [
|
|
48
|
-
'|',
|
|
49
|
-
'/',
|
|
50
|
-
'-',
|
|
51
|
-
'\\'
|
|
52
|
-
],
|
|
53
|
-
star: '*',
|
|
54
|
-
starEmpty: ' ',
|
|
55
|
-
topLeft: '+',
|
|
56
|
-
topRight: '+',
|
|
57
|
-
bottomLeft: '+',
|
|
58
|
-
bottomRight: '+',
|
|
59
|
-
horizontal: '-',
|
|
60
|
-
vertical: '|'
|
|
61
|
-
};
|
|
62
|
-
const capabilities = (0, _utils.detectCapabilities)();
|
|
63
|
-
const useUnicode = capabilities.hasUnicode && process.env.MEP_NO_UNICODE !== '1';
|
|
64
|
-
const symbols = useUnicode ? UnicodeSymbols : AsciiSymbols;
|
|
65
|
-
|
|
66
|
-
//# sourceMappingURL=symbols.js.map
|
package/dist/src/symbols.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/symbols.ts"],"sourcesContent":["import { detectCapabilities } from './utils';\n\nexport interface SymbolDefinition {\n /** Used for success messages or valid states */\n tick: string;\n /** Used for error messages or invalid states */\n cross: string;\n /** Used to point to the current selection */\n pointer: string;\n /** Used for separators or sliders */\n line: string;\n /** Used for checked state in checkboxes/radio */\n checked: string;\n /** Used for unchecked state in checkboxes/radio */\n unchecked: string;\n /** Animation frames for the spinner */\n spinner: string[];\n /** Star symbol for rating */\n star: string;\n /** Empty star symbol for rating */\n starEmpty: string;\n /** Box drawing top-left corner */\n topLeft: string;\n /** Box drawing top-right corner */\n topRight: string;\n /** Box drawing bottom-left corner */\n bottomLeft: string;\n /** Box drawing bottom-right corner */\n bottomRight: string;\n /** Box drawing horizontal line */\n horizontal: string;\n /** Box drawing vertical line */\n vertical: string;\n}\n\nconst UnicodeSymbols: SymbolDefinition = {\n tick: '✔',\n cross: '✖',\n pointer: '❯',\n line: '─',\n checked: '◉',\n unchecked: '◯',\n spinner: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n star: '★',\n starEmpty: '☆',\n topLeft: '┌',\n topRight: '┐',\n bottomLeft: '└',\n bottomRight: '┘',\n horizontal: '─',\n vertical: '│'\n};\n\nconst AsciiSymbols: SymbolDefinition = {\n tick: '+',\n cross: 'x',\n pointer: '>',\n line: '-',\n checked: '[x]',\n unchecked: '[ ]',\n spinner: ['|', '/', '-', '\\\\'],\n star: '*',\n starEmpty: ' ',\n topLeft: '+',\n topRight: '+',\n bottomLeft: '+',\n bottomRight: '+',\n horizontal: '-',\n vertical: '|'\n};\n\nconst capabilities = detectCapabilities();\nconst useUnicode = capabilities.hasUnicode && process.env.MEP_NO_UNICODE !== '1';\n\nexport const symbols: SymbolDefinition = useUnicode ? UnicodeSymbols : AsciiSymbols;\n"],"names":["symbols","UnicodeSymbols","tick","cross","pointer","line","checked","unchecked","spinner","star","starEmpty","topLeft","topRight","bottomLeft","bottomRight","horizontal","vertical","AsciiSymbols","capabilities","detectCapabilities","useUnicode","hasUnicode","process","env","MEP_NO_UNICODE"],"mappings":";;;;+BA0EaA;;;eAAAA;;;uBA1EsB;AAmCnC,MAAMC,iBAAmC;IACrCC,MAAM;IACNC,OAAO;IACPC,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,WAAW;IACXC,SAAS;QAAC;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;KAAI;IAC3DC,MAAM;IACNC,WAAW;IACXC,SAAS;IACTC,UAAU;IACVC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,UAAU;AACd;AAEA,MAAMC,eAAiC;IACnCf,MAAM;IACNC,OAAO;IACPC,SAAS;IACTC,MAAM;IACNC,SAAS;IACTC,WAAW;IACXC,SAAS;QAAC;QAAK;QAAK;QAAK;KAAK;IAC9BC,MAAM;IACNC,WAAW;IACXC,SAAS;IACTC,UAAU;IACVC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,UAAU;AACd;AAEA,MAAME,eAAeC,IAAAA,yBAAkB;AACvC,MAAMC,aAAaF,aAAaG,UAAU,IAAIC,QAAQC,GAAG,CAACC,cAAc,KAAK;AAEtE,MAAMxB,UAA4BoB,aAAanB,iBAAiBgB"}
|