@bemoje/cli 0.0.11 → 0.0.13
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/cjs/arg/ArgumentBuilder.js +15 -0
- package/cjs/arg/ArgumentBuilder.js.map +1 -1
- package/cjs/cmd/CommandBuilder.js +196 -70
- package/cjs/cmd/CommandBuilder.js.map +1 -1
- package/cjs/cmd/CommandBuilderMetaData.js +1 -0
- package/cjs/cmd/CommandBuilderMetaData.js.map +1 -1
- package/cjs/cmd/DefaultHelpConfig.js +1 -0
- package/cjs/cmd/DefaultHelpConfig.js.map +1 -1
- package/cjs/db/JsonFile.js +1 -1
- package/cjs/index.js +28 -0
- package/cjs/index.js.map +1 -1
- package/cjs/opt/OptionBuilder.js +6 -0
- package/cjs/opt/OptionBuilder.js.map +1 -1
- package/cjs/prompt/additions/commandSearchPrompt/commandSearchPrompt.js +39 -0
- package/cjs/prompt/additions/commandSearchPrompt/commandSearchPrompt.js.map +1 -0
- package/cjs/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js +3 -0
- package/cjs/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js.map +1 -0
- package/cjs/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js +34 -0
- package/cjs/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js +3 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js +3 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptOptions.js +3 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptOptions.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptResult.js +3 -0
- package/cjs/prompt/additions/searchPrompt/core/ISearchPromptResult.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js +5 -0
- package/cjs/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/createSearchPromptObject.js +177 -0
- package/cjs/prompt/additions/searchPrompt/core/createSearchPromptObject.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js +12 -0
- package/cjs/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js.map +1 -0
- package/cjs/prompt/additions/searchPrompt/searchPrompt.js +37 -0
- package/cjs/prompt/additions/searchPrompt/searchPrompt.js.map +1 -0
- package/cjs/prompt/core/AbstractUserPrompt.js +88 -0
- package/cjs/prompt/core/AbstractUserPrompt.js.map +1 -0
- package/cjs/prompt/core/AutoCompleteMultiSelectPrompt.js +90 -0
- package/cjs/prompt/core/AutoCompleteMultiSelectPrompt.js.map +1 -0
- package/cjs/prompt/core/AutocompletePrompt.js +111 -0
- package/cjs/prompt/core/AutocompletePrompt.js.map +1 -0
- package/cjs/prompt/core/ConfirmPrompt.js +34 -0
- package/cjs/prompt/core/ConfirmPrompt.js.map +1 -0
- package/cjs/prompt/core/DatePrompt.js +58 -0
- package/cjs/prompt/core/DatePrompt.js.map +1 -0
- package/cjs/prompt/core/InvisiblePrompt.js +49 -0
- package/cjs/prompt/core/InvisiblePrompt.js.map +1 -0
- package/cjs/prompt/core/ListPrompt.js +56 -0
- package/cjs/prompt/core/ListPrompt.js.map +1 -0
- package/cjs/prompt/core/MultiSelectPrompt.js +90 -0
- package/cjs/prompt/core/MultiSelectPrompt.js.map +1 -0
- package/cjs/prompt/core/NumberPrompt.js +70 -0
- package/cjs/prompt/core/NumberPrompt.js.map +1 -0
- package/cjs/prompt/core/PasswordPrompt.js +49 -0
- package/cjs/prompt/core/PasswordPrompt.js.map +1 -0
- package/cjs/prompt/core/SearchPrompt.js +112 -0
- package/cjs/prompt/core/SearchPrompt.js.map +1 -0
- package/cjs/prompt/core/SelectPrompt.js +62 -0
- package/cjs/prompt/core/SelectPrompt.js.map +1 -0
- package/cjs/prompt/core/TextPrompt.js +49 -0
- package/cjs/prompt/core/TextPrompt.js.map +1 -0
- package/cjs/prompt/core/TogglePrompt.js +48 -0
- package/cjs/prompt/core/TogglePrompt.js.map +1 -0
- package/cjs/prompt/core/types.js +3 -0
- package/cjs/prompt/core/types.js.map +1 -0
- package/cjs/prompt/example.js +117 -0
- package/cjs/prompt/example.js.map +1 -0
- package/cjs/prompt/prompt.js +62 -0
- package/cjs/prompt/prompt.js.map +1 -0
- package/esm/arg/ArgumentBuilder.js +15 -0
- package/esm/arg/ArgumentBuilder.js.map +1 -1
- package/esm/cmd/CommandBuilder.js +196 -70
- package/esm/cmd/CommandBuilder.js.map +1 -1
- package/esm/cmd/CommandBuilderMetaData.js +1 -0
- package/esm/cmd/CommandBuilderMetaData.js.map +1 -1
- package/esm/cmd/DefaultHelpConfig.js +1 -0
- package/esm/cmd/DefaultHelpConfig.js.map +1 -1
- package/esm/db/JsonFile.js +1 -1
- package/esm/index.js +28 -0
- package/esm/index.js.map +1 -1
- package/esm/opt/OptionBuilder.js +6 -0
- package/esm/opt/OptionBuilder.js.map +1 -1
- package/esm/prompt/additions/commandSearchPrompt/commandSearchPrompt.js +32 -0
- package/esm/prompt/additions/commandSearchPrompt/commandSearchPrompt.js.map +1 -0
- package/esm/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js +2 -0
- package/esm/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js.map +1 -0
- package/esm/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js +27 -0
- package/esm/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js +2 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js +2 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptOptions.js +2 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptOptions.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptResult.js +2 -0
- package/esm/prompt/additions/searchPrompt/core/ISearchPromptResult.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js +2 -0
- package/esm/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/createSearchPromptObject.js +173 -0
- package/esm/prompt/additions/searchPrompt/core/createSearchPromptObject.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js +8 -0
- package/esm/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js.map +1 -0
- package/esm/prompt/additions/searchPrompt/searchPrompt.js +30 -0
- package/esm/prompt/additions/searchPrompt/searchPrompt.js.map +1 -0
- package/esm/prompt/core/AbstractUserPrompt.js +81 -0
- package/esm/prompt/core/AbstractUserPrompt.js.map +1 -0
- package/esm/prompt/core/AutoCompleteMultiSelectPrompt.js +86 -0
- package/esm/prompt/core/AutoCompleteMultiSelectPrompt.js.map +1 -0
- package/esm/prompt/core/AutocompletePrompt.js +107 -0
- package/esm/prompt/core/AutocompletePrompt.js.map +1 -0
- package/esm/prompt/core/ConfirmPrompt.js +30 -0
- package/esm/prompt/core/ConfirmPrompt.js.map +1 -0
- package/esm/prompt/core/DatePrompt.js +54 -0
- package/esm/prompt/core/DatePrompt.js.map +1 -0
- package/esm/prompt/core/InvisiblePrompt.js +45 -0
- package/esm/prompt/core/InvisiblePrompt.js.map +1 -0
- package/esm/prompt/core/ListPrompt.js +52 -0
- package/esm/prompt/core/ListPrompt.js.map +1 -0
- package/esm/prompt/core/MultiSelectPrompt.js +86 -0
- package/esm/prompt/core/MultiSelectPrompt.js.map +1 -0
- package/esm/prompt/core/NumberPrompt.js +66 -0
- package/esm/prompt/core/NumberPrompt.js.map +1 -0
- package/esm/prompt/core/PasswordPrompt.js +45 -0
- package/esm/prompt/core/PasswordPrompt.js.map +1 -0
- package/esm/prompt/core/SearchPrompt.js +108 -0
- package/esm/prompt/core/SearchPrompt.js.map +1 -0
- package/esm/prompt/core/SelectPrompt.js +58 -0
- package/esm/prompt/core/SelectPrompt.js.map +1 -0
- package/esm/prompt/core/TextPrompt.js +45 -0
- package/esm/prompt/core/TextPrompt.js.map +1 -0
- package/esm/prompt/core/TogglePrompt.js +44 -0
- package/esm/prompt/core/TogglePrompt.js.map +1 -0
- package/esm/prompt/core/types.js +2 -0
- package/esm/prompt/core/types.js.map +1 -0
- package/esm/prompt/example.js +112 -0
- package/esm/prompt/example.js.map +1 -0
- package/esm/prompt/prompt.js +59 -0
- package/esm/prompt/prompt.js.map +1 -0
- package/package.json +1 -1
- package/types/arg/ArgumentBuilder.d.ts +14 -0
- package/types/arg/ArgumentBuilder.d.ts.map +1 -0
- package/types/arg/ArgumentParserSelector.d.ts +1 -0
- package/types/arg/ArgumentParserSelector.d.ts.map +1 -0
- package/types/arg/ArgumentReader.d.ts +1 -0
- package/types/arg/ArgumentReader.d.ts.map +1 -0
- package/types/arg/ArgumentValidatorSelector.d.ts +1 -0
- package/types/arg/ArgumentValidatorSelector.d.ts.map +1 -0
- package/types/cmd/CommandBuilder.d.ts +152 -46
- package/types/cmd/CommandBuilder.d.ts.map +1 -0
- package/types/cmd/CommandBuilderMetaData.d.ts +3 -0
- package/types/cmd/CommandBuilderMetaData.d.ts.map +1 -0
- package/types/cmd/CommandFeatureSelector.d.ts +1 -0
- package/types/cmd/CommandFeatureSelector.d.ts.map +1 -0
- package/types/cmd/DefaultHelpConfig.d.ts +1 -0
- package/types/cmd/DefaultHelpConfig.d.ts.map +1 -0
- package/types/core/OutputManager.d.ts +1 -0
- package/types/core/OutputManager.d.ts.map +1 -0
- package/types/core/ParserSelector.d.ts +1 -0
- package/types/core/ParserSelector.d.ts.map +1 -0
- package/types/core/ValidatorSelector.d.ts +1 -0
- package/types/core/ValidatorSelector.d.ts.map +1 -0
- package/types/core/splitCombinedArgvShorts.d.ts +1 -0
- package/types/core/splitCombinedArgvShorts.d.ts.map +1 -0
- package/types/db/AbstractJsonFileSection.d.ts +1 -0
- package/types/db/AbstractJsonFileSection.d.ts.map +1 -0
- package/types/db/AppDataSection.d.ts +1 -0
- package/types/db/AppDataSection.d.ts.map +1 -0
- package/types/db/ConfigSection.d.ts +1 -0
- package/types/db/ConfigSection.d.ts.map +1 -0
- package/types/db/JsonFile.d.ts +1 -0
- package/types/db/JsonFile.d.ts.map +1 -0
- package/types/db/PresetsSection.d.ts +1 -0
- package/types/db/PresetsSection.d.ts.map +1 -0
- package/types/index.d.ts +29 -0
- package/types/index.d.ts.map +1 -0
- package/types/opt/OptionArgumentParserSelector.d.ts +1 -0
- package/types/opt/OptionArgumentParserSelector.d.ts.map +1 -0
- package/types/opt/OptionArgumentValidatorSelector.d.ts +1 -0
- package/types/opt/OptionArgumentValidatorSelector.d.ts.map +1 -0
- package/types/opt/OptionBuilder.d.ts +3 -0
- package/types/opt/OptionBuilder.d.ts.map +1 -0
- package/types/opt/OptionHelpers.d.ts +1 -0
- package/types/opt/OptionHelpers.d.ts.map +1 -0
- package/types/opt/OptionReader.d.ts +1 -0
- package/types/opt/OptionReader.d.ts.map +1 -0
- package/types/prompt/additions/commandSearchPrompt/commandSearchPrompt.d.ts +21 -0
- package/types/prompt/additions/commandSearchPrompt/commandSearchPrompt.d.ts.map +1 -0
- package/types/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.d.ts +5 -0
- package/types/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.d.ts.map +1 -0
- package/types/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.d.ts +13 -0
- package/types/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.d.ts +5 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptMetaData.d.ts +9 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptMetaData.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptOptions.d.ts +44 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptOptions.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptResult.d.ts +6 -0
- package/types/prompt/additions/searchPrompt/core/ISearchPromptResult.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/PROMPT_META_DATA.d.ts +4 -0
- package/types/prompt/additions/searchPrompt/core/PROMPT_META_DATA.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/createSearchPromptObject.d.ts +13 -0
- package/types/prompt/additions/searchPrompt/core/createSearchPromptObject.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/core/getSearchPromptMetaData.d.ts +4 -0
- package/types/prompt/additions/searchPrompt/core/getSearchPromptMetaData.d.ts.map +1 -0
- package/types/prompt/additions/searchPrompt/searchPrompt.d.ts +21 -0
- package/types/prompt/additions/searchPrompt/searchPrompt.d.ts.map +1 -0
- package/types/prompt/core/AbstractUserPrompt.d.ts +55 -0
- package/types/prompt/core/AbstractUserPrompt.d.ts.map +1 -0
- package/types/prompt/core/AutoCompleteMultiSelectPrompt.d.ts +54 -0
- package/types/prompt/core/AutoCompleteMultiSelectPrompt.d.ts.map +1 -0
- package/types/prompt/core/AutocompletePrompt.d.ts +66 -0
- package/types/prompt/core/AutocompletePrompt.d.ts.map +1 -0
- package/types/prompt/core/ConfirmPrompt.d.ts +21 -0
- package/types/prompt/core/ConfirmPrompt.d.ts.map +1 -0
- package/types/prompt/core/DatePrompt.d.ts +37 -0
- package/types/prompt/core/DatePrompt.d.ts.map +1 -0
- package/types/prompt/core/InvisiblePrompt.d.ts +30 -0
- package/types/prompt/core/InvisiblePrompt.d.ts.map +1 -0
- package/types/prompt/core/ListPrompt.d.ts +34 -0
- package/types/prompt/core/ListPrompt.d.ts.map +1 -0
- package/types/prompt/core/MultiSelectPrompt.d.ts +54 -0
- package/types/prompt/core/MultiSelectPrompt.d.ts.map +1 -0
- package/types/prompt/core/NumberPrompt.d.ts +42 -0
- package/types/prompt/core/NumberPrompt.d.ts.map +1 -0
- package/types/prompt/core/PasswordPrompt.d.ts +30 -0
- package/types/prompt/core/PasswordPrompt.d.ts.map +1 -0
- package/types/prompt/core/SearchPrompt.d.ts +71 -0
- package/types/prompt/core/SearchPrompt.d.ts.map +1 -0
- package/types/prompt/core/SelectPrompt.d.ts +38 -0
- package/types/prompt/core/SelectPrompt.d.ts.map +1 -0
- package/types/prompt/core/TextPrompt.d.ts +30 -0
- package/types/prompt/core/TextPrompt.d.ts.map +1 -0
- package/types/prompt/core/TogglePrompt.d.ts +29 -0
- package/types/prompt/core/TogglePrompt.d.ts.map +1 -0
- package/types/prompt/core/types.d.ts +215 -0
- package/types/prompt/core/types.d.ts.map +1 -0
- package/types/prompt/example.d.ts +2 -0
- package/types/prompt/example.d.ts.map +1 -0
- package/types/prompt/prompt.d.ts +33 -0
- package/types/prompt/prompt.d.ts.map +1 -0
- package/types/types/IConfig.d.ts +1 -0
- package/types/types/IConfig.d.ts.map +1 -0
- package/types/types/IPreset.d.ts +1 -0
- package/types/types/IPreset.d.ts.map +1 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSearchPromptObject = void 0;
|
|
4
|
+
const util_1 = require("@bemoje/util");
|
|
5
|
+
const PROMPT_META_DATA_1 = require("./PROMPT_META_DATA");
|
|
6
|
+
/**
|
|
7
|
+
* Create a search prompt object that can be run with `prompts()` from npm package: `prompts`.
|
|
8
|
+
* The point of this would be to run them in series.
|
|
9
|
+
* To run run a prompt directly, use @see searchPrompt
|
|
10
|
+
*
|
|
11
|
+
* @param name - The name of the prompt
|
|
12
|
+
* @param data - The list to search.
|
|
13
|
+
* @param options - The options
|
|
14
|
+
*/
|
|
15
|
+
function createSearchPromptObject(name, data, options) {
|
|
16
|
+
const searchStopSequence = options.searchStopSequence ?? ':';
|
|
17
|
+
const keywordDelimiter = options.separator ?? ' ';
|
|
18
|
+
const meta = new WeakMap();
|
|
19
|
+
const choices = data.map((value) => {
|
|
20
|
+
const choice = {
|
|
21
|
+
title: value,
|
|
22
|
+
value: value,
|
|
23
|
+
};
|
|
24
|
+
const parsed = strSplitBy(value, keywordDelimiter);
|
|
25
|
+
const preRendered = options.preRender ? options.preRender(parsed) : parsed.slice();
|
|
26
|
+
meta.set(choice, { parsed, preRendered });
|
|
27
|
+
return choice;
|
|
28
|
+
});
|
|
29
|
+
const filtering = options.filtering || { startsWith: true, includes: true };
|
|
30
|
+
const lastResult = {
|
|
31
|
+
originalInput: '',
|
|
32
|
+
input: '',
|
|
33
|
+
inputAfterStop: '',
|
|
34
|
+
keywords: [],
|
|
35
|
+
result: [],
|
|
36
|
+
};
|
|
37
|
+
const render = options.render || createRenderer(keywordDelimiter, filtering);
|
|
38
|
+
const prompt = {
|
|
39
|
+
type: 'autocomplete',
|
|
40
|
+
name: name,
|
|
41
|
+
message: '0',
|
|
42
|
+
limit: options.limit ?? 30,
|
|
43
|
+
initial: options.initial,
|
|
44
|
+
clearFirst: true,
|
|
45
|
+
choices,
|
|
46
|
+
suggest: async (input, choices) => {
|
|
47
|
+
return await search(input, lastResult, choices, meta, filtering, keywordDelimiter, searchStopSequence);
|
|
48
|
+
},
|
|
49
|
+
onRender: function () {
|
|
50
|
+
const choices = this.choices;
|
|
51
|
+
choices.forEach((choice) => {
|
|
52
|
+
const choiceMeta = meta.get(choice);
|
|
53
|
+
if (!choiceMeta)
|
|
54
|
+
return;
|
|
55
|
+
choice.title = render(choiceMeta.parsed, choiceMeta.preRendered, lastResult.keywords);
|
|
56
|
+
});
|
|
57
|
+
Reflect.set(this, 'msg', String(lastResult.result.length));
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
PROMPT_META_DATA_1.PROMPT_META_DATA.set(prompt, lastResult);
|
|
61
|
+
return prompt;
|
|
62
|
+
}
|
|
63
|
+
exports.createSearchPromptObject = createSearchPromptObject;
|
|
64
|
+
/**
|
|
65
|
+
* Split string by delimiter, remove empty strings
|
|
66
|
+
*/
|
|
67
|
+
function strSplitBy(string, delimiter = ' ') {
|
|
68
|
+
return string.split(delimiter).filter((i) => !!i);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Create a render function
|
|
72
|
+
*/
|
|
73
|
+
function createRenderer(keywordDelimiter, filtering) {
|
|
74
|
+
const iterate = (parsed, preRendered, keywords, callback) => {
|
|
75
|
+
return preRendered
|
|
76
|
+
.map((word, i) => {
|
|
77
|
+
for (const kw of keywords) {
|
|
78
|
+
word = callback(parsed[i], word, kw);
|
|
79
|
+
}
|
|
80
|
+
return word;
|
|
81
|
+
})
|
|
82
|
+
.join(keywordDelimiter);
|
|
83
|
+
};
|
|
84
|
+
return (parsed, preRendered, keywords) => {
|
|
85
|
+
return iterate(parsed, preRendered, keywords, (parsed, word, kw) => {
|
|
86
|
+
if (filtering.startsWith && parsed.startsWith(kw))
|
|
87
|
+
return word.replace(kw, util_1.colors.magenta(kw));
|
|
88
|
+
if (filtering.includes && parsed.includes(kw))
|
|
89
|
+
return word.replace(kw, util_1.colors.blue(kw));
|
|
90
|
+
return word;
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Fitler/suggest/search based on user input
|
|
96
|
+
*/
|
|
97
|
+
async function search(input, latestData, choices, meta, filtering, keywordDelimiter, searchStopSequence) {
|
|
98
|
+
const indexOfStopSequence = input.indexOf(searchStopSequence);
|
|
99
|
+
latestData.originalInput = input;
|
|
100
|
+
latestData.input = indexOfStopSequence === -1 ? input : input.substring(0, indexOfStopSequence).trim();
|
|
101
|
+
latestData.inputAfterStop = indexOfStopSequence === -1 ? '' : input.substring(indexOfStopSequence + 1).trim();
|
|
102
|
+
latestData.keywords = strSplitBy(latestData.input, keywordDelimiter);
|
|
103
|
+
latestData.result = [];
|
|
104
|
+
let temp = [];
|
|
105
|
+
if (!filtering.startsWith && !filtering.includes) {
|
|
106
|
+
latestData.result = choices;
|
|
107
|
+
return Promise.resolve(latestData.result);
|
|
108
|
+
}
|
|
109
|
+
if (filtering.startsWith) {
|
|
110
|
+
// 100% match always from beginning of searched strings/words
|
|
111
|
+
choices.forEach((choice) => {
|
|
112
|
+
const metaChoice = meta.get(choice);
|
|
113
|
+
if (!metaChoice)
|
|
114
|
+
return;
|
|
115
|
+
const parsed = metaChoice.parsed;
|
|
116
|
+
let has = someWordStartsWithEveryKw(latestData.keywords, parsed);
|
|
117
|
+
if (!has && latestData.keywords.length === 1) {
|
|
118
|
+
has = someWordStartsWithEveryKw(latestData.keywords[0].split(''), parsed);
|
|
119
|
+
}
|
|
120
|
+
if (has) {
|
|
121
|
+
latestData.result.push(choice);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
temp.push(choice);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
if (latestData.result.length === 1) {
|
|
128
|
+
return Promise.resolve(latestData.result);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
temp = temp.concat(choices);
|
|
133
|
+
}
|
|
134
|
+
if (filtering.includes) {
|
|
135
|
+
// 100% match anywhere in the searched strings/words
|
|
136
|
+
temp.forEach((choice) => {
|
|
137
|
+
const metaChoice = meta.get(choice);
|
|
138
|
+
if (!metaChoice)
|
|
139
|
+
return;
|
|
140
|
+
const parsed = metaChoice.parsed;
|
|
141
|
+
if (everyKwInWord(latestData.keywords, parsed)) {
|
|
142
|
+
latestData.result.push(choice);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return Promise.resolve(latestData.result);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Search 'startsWith'
|
|
150
|
+
*/
|
|
151
|
+
function someWordStartsWithEveryKw(keywords, parsed) {
|
|
152
|
+
let lastP = 0;
|
|
153
|
+
for (let k = 0; k < keywords.length; k++) {
|
|
154
|
+
const kw = keywords[k];
|
|
155
|
+
let match = false;
|
|
156
|
+
for (let p = lastP; p < parsed.length; p++) {
|
|
157
|
+
const cmd = parsed[p];
|
|
158
|
+
if (cmd.startsWith(kw)) {
|
|
159
|
+
lastP = p;
|
|
160
|
+
match = true;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (!match)
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Search 'includes'
|
|
171
|
+
*/
|
|
172
|
+
function everyKwInWord(keywords, parsed) {
|
|
173
|
+
return (0, util_1.arrEvery)(keywords, (kw) => {
|
|
174
|
+
return parsed.some((c) => c.includes(kw));
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=createSearchPromptObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSearchPromptObject.js","sourceRoot":"","sources":["../../../../../../../../packages/cli/src/prompt/additions/searchPrompt/core/createSearchPromptObject.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAK/C,yDAAqD;AAErD;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CAAC,IAAY,EAAE,IAAc,EAAE,OAA6B;IAClG,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAA;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAA;IAEjD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAuC,CAAA;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,MAAM,GAAW;YACrB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACb,CAAA;QACD,MAAM,MAAM,GAAa,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAa,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC5F,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;QACzC,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAE3E,MAAM,UAAU,GAA0B;QACxC,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;IAM5E,MAAM,MAAM,GAA+B;QACzC,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,IAAI;QAChB,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,OAAiB,EAAqB,EAAE;YACrE,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;QACxG,CAAC;QACD,QAAQ,EAAE;YACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAmB,CAAA;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;gBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnC,IAAI,CAAC,UAAU;oBAAE,OAAM;gBACvB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;YACvF,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,CAAC;KACF,CAAA;IAED,mCAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxC,OAAO,MAAM,CAAA;AACf,CAAC;AAxDD,4DAwDC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,SAAS,GAAG,GAAG;IACjD,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,gBAAwB,EACxB,SAGC;IAED,MAAM,OAAO,GAAG,CACd,MAAgB,EAChB,WAAqB,EACrB,QAAkB,EAClB,QAA8D,EACtD,EAAE;QACV,OAAO,WAAW;aACf,GAAG,CAAC,CAAC,IAAY,EAAE,CAAC,EAAE,EAAE;YACvB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;gBACzB,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;aACrC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC;aACD,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,OAAO,CAAC,MAAgB,EAAE,WAAqB,EAAE,QAAkB,EAAU,EAAE;QAC7E,OAAO,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;YACzF,IAAI,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,aAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9F,IAAI,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,aAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACvF,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,MAAM,CACnB,KAAa,EACb,UAAiC,EACjC,OAAiB,EACjB,IAAkD,EAClD,SAGC,EACD,gBAAwB,EACxB,kBAA0B;IAE1B,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7D,UAAU,CAAC,aAAa,GAAG,KAAK,CAAA;IAChC,UAAU,CAAC,KAAK,GAAG,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAA;IACtG,UAAU,CAAC,cAAc,GAAG,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7G,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,GAAG,EAAE,CAAA;IACtB,IAAI,IAAI,GAAa,EAAE,CAAA;IAEvB,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QAChD,UAAU,CAAC,MAAM,GAAG,OAAO,CAAA;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;KAC1C;IAED,IAAI,SAAS,CAAC,UAAU,EAAE;QACxB,6DAA6D;QAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,CAAC,UAAU;gBAAE,OAAM;YACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;YAChC,IAAI,GAAG,GAAG,yBAAyB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAChE,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5C,GAAG,GAAG,yBAAyB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;aAC1E;YACD,IAAI,GAAG,EAAE;gBACP,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAC/B;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAClB;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC1C;KACF;SAAM;QACL,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC5B;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE;QACtB,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,CAAC,UAAU;gBAAE,OAAM;YACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;YAChC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBAC9C,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAC/B;QACH,CAAC,CAAC,CAAA;KACH;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,QAAkB,EAAE,MAAgB;IACrE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;gBACtB,KAAK,GAAG,CAAC,CAAA;gBACT,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAK;aACN;SACF;QACD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;KACzB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAkB,EAAE,MAAgB;IACzD,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSearchPromptMetaData = void 0;
|
|
4
|
+
const PROMPT_META_DATA_1 = require("./PROMPT_META_DATA");
|
|
5
|
+
function getSearchPromptMetaData(prompt) {
|
|
6
|
+
const result = PROMPT_META_DATA_1.PROMPT_META_DATA.get(prompt);
|
|
7
|
+
if (!result)
|
|
8
|
+
throw new Error('Prompt meta data not found.');
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
exports.getSearchPromptMetaData = getSearchPromptMetaData;
|
|
12
|
+
//# sourceMappingURL=getSearchPromptMetaData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSearchPromptMetaData.js","sourceRoot":"","sources":["../../../../../../../../packages/cli/src/prompt/additions/searchPrompt/core/getSearchPromptMetaData.ts"],"names":[],"mappings":";;;AACA,yDAAqD;AAGrD,SAAgB,uBAAuB,CAAC,MAAoB;IAC1D,MAAM,MAAM,GAAG,mCAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC3D,OAAO,MAAM,CAAA;AACf,CAAC;AAJD,0DAIC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.searchPrompt = void 0;
|
|
7
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
8
|
+
const createSearchPromptObject_1 = require("./core/createSearchPromptObject");
|
|
9
|
+
const getSearchPromptMetaData_1 = require("./core/getSearchPromptMetaData");
|
|
10
|
+
/**
|
|
11
|
+
* Start a command-line prompt in which the user can search a provided list.
|
|
12
|
+
*
|
|
13
|
+
* @param data - The list to search
|
|
14
|
+
* @param options - options
|
|
15
|
+
*
|
|
16
|
+
* @returns the user input, its resulting matches, the match selected by the user
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* Returns
|
|
20
|
+
* 1 100% matches always from beginning of searched strings/words
|
|
21
|
+
* 2 100% matches anywhere in the searched strings/words
|
|
22
|
+
*
|
|
23
|
+
* If the first category can be narrowed down to exactly one result,
|
|
24
|
+
* then it is immediately returned and the other category discarded.
|
|
25
|
+
*/
|
|
26
|
+
async function searchPrompt(data, options, listeners) {
|
|
27
|
+
const _options = options;
|
|
28
|
+
const prompt = (0, createSearchPromptObject_1.createSearchPromptObject)('search', data, _options);
|
|
29
|
+
const oSelected = await (0, prompts_1.default)(prompt, listeners);
|
|
30
|
+
const metadata = (0, getSearchPromptMetaData_1.getSearchPromptMetaData)(prompt);
|
|
31
|
+
const selected = oSelected['search'];
|
|
32
|
+
const input = metadata.originalInput;
|
|
33
|
+
const matches = metadata.result.map((choice) => choice.value) || [];
|
|
34
|
+
return { input, matches, selected };
|
|
35
|
+
}
|
|
36
|
+
exports.searchPrompt = searchPrompt;
|
|
37
|
+
//# sourceMappingURL=searchPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchPrompt.js","sourceRoot":"","sources":["../../../../../../../packages/cli/src/prompt/additions/searchPrompt/searchPrompt.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,8EAA0E;AAC1E,4EAAwE;AAKxE;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,YAAY,CAChC,IAAc,EACd,OAA8B,EAC9B,SAAmB;IAEnB,MAAM,QAAQ,GAAG,OAA+B,CAAA;IAChD,MAAM,MAAM,GAAG,IAAA,mDAAwB,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAO,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,IAAA,iDAAuB,EAAC,MAAM,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAA;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACnE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC;AAbD,oCAaC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AbstractUserPrompt = void 0;
|
|
7
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
8
|
+
const util_1 = require("@bemoje/util");
|
|
9
|
+
/**
|
|
10
|
+
* Interactive terminal user prompts.
|
|
11
|
+
*/
|
|
12
|
+
class AbstractUserPrompt {
|
|
13
|
+
/**
|
|
14
|
+
* The data holding the selections from this builder class
|
|
15
|
+
*/
|
|
16
|
+
data;
|
|
17
|
+
/**
|
|
18
|
+
* @param type - The type of prompt
|
|
19
|
+
* @param message - The message to display to the user
|
|
20
|
+
*/
|
|
21
|
+
constructor(type, name, message) {
|
|
22
|
+
this.data = { type, name, message };
|
|
23
|
+
(0, util_1.setNonEnumerable)(this, 'data');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* An identifier for the prompt which is only useful when chaining prompts.
|
|
27
|
+
* If provided, the response will be { [name]: value } instead of just the value.
|
|
28
|
+
*/
|
|
29
|
+
name(name) {
|
|
30
|
+
this.data['name'] = name;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* On state change callback. Function signature is an object with two properties: value and aborted
|
|
35
|
+
*/
|
|
36
|
+
onState(onState) {
|
|
37
|
+
this.data['onState'] = onState;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* By default, prompts uses process.stdin for receiving input and process.
|
|
42
|
+
* If you need to use different streams, for instance process.stderr,
|
|
43
|
+
* you can set these with the stdin and stdout properties.
|
|
44
|
+
*/
|
|
45
|
+
stdin(stdin) {
|
|
46
|
+
this.data['stdin'] = stdin;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* By default, prompts uses process.stdout for writing output.
|
|
51
|
+
* If you need to use different streams, for instance process.stderr,
|
|
52
|
+
* you can set these with the stdin and stdout properties.
|
|
53
|
+
*/
|
|
54
|
+
stdout(stdout) {
|
|
55
|
+
this.data['stdout'] = stdout;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Returns a copy of the data object.
|
|
60
|
+
*/
|
|
61
|
+
getData() {
|
|
62
|
+
return { ...this.data };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Set the data object.
|
|
66
|
+
*/
|
|
67
|
+
setData(data) {
|
|
68
|
+
Object.assign(this.data, data);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create a copy of the this object
|
|
73
|
+
*/
|
|
74
|
+
clone() {
|
|
75
|
+
const ctor = Object.getPrototypeOf(this).constructor;
|
|
76
|
+
const clone = new ctor(this.data['message']);
|
|
77
|
+
Object.assign(clone.data, this.data);
|
|
78
|
+
return clone;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Prompt user and receive user input. The returned value will be added to the response object
|
|
82
|
+
*/
|
|
83
|
+
async run(options) {
|
|
84
|
+
return await (0, prompts_1.default)(this.data, options);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.AbstractUserPrompt = AbstractUserPrompt;
|
|
88
|
+
//# sourceMappingURL=AbstractUserPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractUserPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/AbstractUserPrompt.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA0C;AAG1C,uCAA+C;AAE/C;;GAEG;AACH,MAAsB,kBAAkB;IACtC;;OAEG;IACO,IAAI,CAAM;IAEpB;;;OAGG;IACH,YAAY,IAAgB,EAAE,IAAY,EAAE,OAAe;QACzD,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAU,CAAA;QAC3C,IAAA,uBAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAe;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAU,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAmB;QACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAA;QACpD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAiB;QACzB,OAAO,MAAM,IAAA,iBAAO,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACF;AAnFD,gDAmFC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutoCompleteMultiSelectPrompt = void 0;
|
|
4
|
+
const AbstractUserPrompt_1 = require("./AbstractUserPrompt");
|
|
5
|
+
/**
|
|
6
|
+
* Interactive multiselect user prompts in the terminal.
|
|
7
|
+
*/
|
|
8
|
+
class AutoCompleteMultiSelectPrompt extends AbstractUserPrompt_1.AbstractUserPrompt {
|
|
9
|
+
/**
|
|
10
|
+
* @param type - The type of prompt
|
|
11
|
+
* @param message - The message to display to the user
|
|
12
|
+
*/
|
|
13
|
+
constructor(name, message, callback) {
|
|
14
|
+
super('autocompleteMultiselect', name, message);
|
|
15
|
+
if (callback)
|
|
16
|
+
callback(this);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* On render callback. Keyword this refers to the current prompt
|
|
20
|
+
*/
|
|
21
|
+
onRender(onRender) {
|
|
22
|
+
this.data['onRender'] = onRender;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Default value
|
|
27
|
+
*/
|
|
28
|
+
initial(initial) {
|
|
29
|
+
this.data['initial'] = initial;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Prompt instructions to display
|
|
34
|
+
*/
|
|
35
|
+
instructions(instructions) {
|
|
36
|
+
this.data['instructions'] = instructions;
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Hint to display to the user
|
|
41
|
+
*/
|
|
42
|
+
hint(hint) {
|
|
43
|
+
this.data['hint'] = hint;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Message to display when selecting a disabled option
|
|
48
|
+
*/
|
|
49
|
+
warn(warn) {
|
|
50
|
+
this.data['warn'] = warn;
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* An array of options/choices for the user to select.
|
|
55
|
+
*/
|
|
56
|
+
choices(choices) {
|
|
57
|
+
this.data['choices'] = choices;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Number of options displayed per page.
|
|
62
|
+
*/
|
|
63
|
+
optionsPerPage(optionsPerPage = 10) {
|
|
64
|
+
this.data['optionsPerPage'] = optionsPerPage;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Minimum number of choices to select - will display error.
|
|
69
|
+
*/
|
|
70
|
+
min(min) {
|
|
71
|
+
this.data['min'] = min;
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Maximum number of choices to select
|
|
76
|
+
*/
|
|
77
|
+
max(max) {
|
|
78
|
+
this.data['max'] = max;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Receive user input. The returned value will be added to the response object
|
|
83
|
+
*/
|
|
84
|
+
format(format) {
|
|
85
|
+
this.data['format'] = format;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.AutoCompleteMultiSelectPrompt = AutoCompleteMultiSelectPrompt;
|
|
90
|
+
//# sourceMappingURL=AutoCompleteMultiSelectPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoCompleteMultiSelectPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/AutoCompleteMultiSelectPrompt.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAIzD;;GAEG;AACH,MAAa,6BAA4E,SAAQ,uCAEhG;IACC;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAA2D;QACpG,KAAK,CAAC,yBAAyB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAAoB;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,YAAY,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,cAAc,GAAG,EAAE;QAChC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAA;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA3FD,sEA2FC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutocompletePrompt = void 0;
|
|
4
|
+
const AbstractUserPrompt_1 = require("./AbstractUserPrompt");
|
|
5
|
+
/**
|
|
6
|
+
* Interactive autocomplete user prompts in the terminal.
|
|
7
|
+
*/
|
|
8
|
+
class AutocompletePrompt extends AbstractUserPrompt_1.AbstractUserPrompt {
|
|
9
|
+
/**
|
|
10
|
+
* @param type - The type of prompt
|
|
11
|
+
* @param message - The message to display to the user
|
|
12
|
+
*/
|
|
13
|
+
constructor(name, message, callback) {
|
|
14
|
+
super('autocomplete', name, message);
|
|
15
|
+
if (callback)
|
|
16
|
+
callback(this);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* On render callback. Keyword this refers to the current prompt
|
|
20
|
+
*/
|
|
21
|
+
onRender(onRender) {
|
|
22
|
+
this.data['onRender'] = onRender;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Default value
|
|
27
|
+
*/
|
|
28
|
+
initial(initial) {
|
|
29
|
+
this.data['initial'] = initial;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The first ESCAPE keypress will clear the input
|
|
34
|
+
*/
|
|
35
|
+
clearFirst(clearFirst) {
|
|
36
|
+
this.data['clearFirst'] = clearFirst;
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Max number of results to show. Defaults to 10
|
|
41
|
+
*/
|
|
42
|
+
limit(limit) {
|
|
43
|
+
this.data['limit'] = limit;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Fallback message when no match is found. Defaults to initial value if provided
|
|
48
|
+
*/
|
|
49
|
+
fallback(fallback) {
|
|
50
|
+
this.data['fallback'] = fallback;
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Hint to display to the user
|
|
55
|
+
*/
|
|
56
|
+
hint(hint) {
|
|
57
|
+
this.data['hint'] = hint;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Message to display when selecting a disabled option
|
|
62
|
+
*/
|
|
63
|
+
warn(warn) {
|
|
64
|
+
this.data['warn'] = warn;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* An array of options/choices for the user to select.
|
|
69
|
+
*/
|
|
70
|
+
choices(choices) {
|
|
71
|
+
this.data['choices'] = choices;
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Minimum number of choices to select - will display error.
|
|
76
|
+
*/
|
|
77
|
+
min(min) {
|
|
78
|
+
this.data['min'] = min;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Maximum number of choices to select
|
|
83
|
+
*/
|
|
84
|
+
max(max) {
|
|
85
|
+
this.data['max'] = max;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Filter function. Defaults to sort by title property. suggest should always return a promise. Filters using title by default
|
|
90
|
+
*/
|
|
91
|
+
suggest(suggest) {
|
|
92
|
+
this.data['suggest'] = suggest;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Receive user input. The returned value will be added to the response object
|
|
97
|
+
*/
|
|
98
|
+
format(format) {
|
|
99
|
+
this.data['format'] = format;
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Render style
|
|
104
|
+
*/
|
|
105
|
+
style(style = 'default') {
|
|
106
|
+
this.data['style'] = style;
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.AutocompletePrompt = AutocompletePrompt;
|
|
111
|
+
//# sourceMappingURL=AutocompletePrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutocompletePrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/AutocompletePrompt.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAIzD;;GAEG;AACH,MAAa,kBAAiE,SAAQ,uCAErF;IACC;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAAgD;QACzF,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACpC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAmB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,UAAU,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,SAAS;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAnHD,gDAmHC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfirmPrompt = void 0;
|
|
4
|
+
const AbstractUserPrompt_1 = require("./AbstractUserPrompt");
|
|
5
|
+
/**
|
|
6
|
+
* Interactive confirm user prompts in the terminal.
|
|
7
|
+
*/
|
|
8
|
+
class ConfirmPrompt extends AbstractUserPrompt_1.AbstractUserPrompt {
|
|
9
|
+
/**
|
|
10
|
+
* @param type - The type of prompt
|
|
11
|
+
* @param message - The message to display to the user
|
|
12
|
+
*/
|
|
13
|
+
constructor(name, message, callback) {
|
|
14
|
+
super('confirm', name, message);
|
|
15
|
+
if (callback)
|
|
16
|
+
callback(this);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* On render callback. Keyword this refers to the current prompt
|
|
20
|
+
*/
|
|
21
|
+
onRender(onRender) {
|
|
22
|
+
this.data['onRender'] = onRender;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Default value
|
|
27
|
+
*/
|
|
28
|
+
initial(initial) {
|
|
29
|
+
this.data['initial'] = initial;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ConfirmPrompt = ConfirmPrompt;
|
|
34
|
+
//# sourceMappingURL=ConfirmPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/ConfirmPrompt.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAGzD;;GAEG;AACH,MAAa,aAA2C,SAAQ,uCAAqC;IACnG;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAA2C;QACpF,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC/B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAzBD,sCAyBC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatePrompt = void 0;
|
|
4
|
+
const AbstractUserPrompt_1 = require("./AbstractUserPrompt");
|
|
5
|
+
/**
|
|
6
|
+
* Interactive date user prompts in the terminal.
|
|
7
|
+
*/
|
|
8
|
+
class DatePrompt extends AbstractUserPrompt_1.AbstractUserPrompt {
|
|
9
|
+
/**
|
|
10
|
+
* @param type - The type of prompt
|
|
11
|
+
* @param message - The message to display to the user
|
|
12
|
+
*/
|
|
13
|
+
constructor(name, message, callback) {
|
|
14
|
+
super('date', name, message);
|
|
15
|
+
if (callback)
|
|
16
|
+
callback(this);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* On render callback. Keyword this refers to the current prompt
|
|
20
|
+
*/
|
|
21
|
+
onRender(onRender) {
|
|
22
|
+
this.data['onRender'] = onRender;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Default value
|
|
27
|
+
*/
|
|
28
|
+
initial(initial) {
|
|
29
|
+
this.data['initial'] = initial;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Receive user input. Should return true if the value is valid, and an error message String otherwise.
|
|
34
|
+
* If false is returned, a default error message is shown
|
|
35
|
+
*/
|
|
36
|
+
validate(validate) {
|
|
37
|
+
this.data['validate'] = validate;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Use to define custom locales. See below for an example.
|
|
42
|
+
* More info: https://github.com/terkelg/prompts/wiki/Date-Time-Formatting
|
|
43
|
+
*/
|
|
44
|
+
locales(locales) {
|
|
45
|
+
this.data['locales'] = locales;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The format mask of the date. See below for more information.
|
|
50
|
+
* More info: https://github.com/terkelg/prompts/wiki/Date-Time-Formatting
|
|
51
|
+
*/
|
|
52
|
+
mask(mask = 'YYYY-MM-DD HH:mm:ss') {
|
|
53
|
+
this.data['mask'] = mask;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.DatePrompt = DatePrompt;
|
|
58
|
+
//# sourceMappingURL=DatePrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/DatePrompt.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAKzD;;GAEG;AACH,MAAa,UAAkC,SAAQ,uCAAkC;IACvF;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAAwC;QACjF,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAsB;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAqC;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAc,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAI,GAAG,qBAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AApDD,gCAoDC"}
|