@inquirer/input 1.0.8 → 1.1.0
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/cjs/index.js +11 -5
- package/dist/esm/index.mjs +11 -5
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const core_1 = require("@inquirer/core");
|
|
|
16
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
17
17
|
exports.default = (0, core_1.createPrompt)((config, done) => {
|
|
18
18
|
const [status, setStatus] = (0, core_1.useState)('pending');
|
|
19
|
-
const [defaultValue, setDefaultValue] = (0, core_1.useState)(config.default);
|
|
19
|
+
const [defaultValue = '', setDefaultValue] = (0, core_1.useState)(config.default);
|
|
20
20
|
const [errorMsg, setError] = (0, core_1.useState)(undefined);
|
|
21
21
|
const [value, setValue] = (0, core_1.useState)('');
|
|
22
22
|
const isLoading = status === 'loading';
|
|
@@ -27,7 +27,7 @@ exports.default = (0, core_1.createPrompt)((config, done) => {
|
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
if ((0, core_1.isEnterKey)(key)) {
|
|
30
|
-
const answer = value || defaultValue
|
|
30
|
+
const answer = value || defaultValue;
|
|
31
31
|
setStatus('loading');
|
|
32
32
|
const isValid = yield config.validate(answer);
|
|
33
33
|
if (isValid === true) {
|
|
@@ -36,9 +36,9 @@ exports.default = (0, core_1.createPrompt)((config, done) => {
|
|
|
36
36
|
done(answer);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
|
|
39
|
+
// Reset the readline line value to the previous value. On line event, the value
|
|
40
|
+
// get cleared, forcing the user to re-enter the value instead of fixing it.
|
|
41
|
+
rl.write(value);
|
|
42
42
|
setError(isValid || 'You must provide a valid value');
|
|
43
43
|
setStatus('pending');
|
|
44
44
|
}
|
|
@@ -46,6 +46,12 @@ exports.default = (0, core_1.createPrompt)((config, done) => {
|
|
|
46
46
|
else if ((0, core_1.isBackspaceKey)(key) && !value) {
|
|
47
47
|
setDefaultValue(undefined);
|
|
48
48
|
}
|
|
49
|
+
else if (key.name === 'tab' && !value) {
|
|
50
|
+
setDefaultValue(undefined);
|
|
51
|
+
rl.clearLine(0); // Remove the tab character.
|
|
52
|
+
rl.write(defaultValue);
|
|
53
|
+
setValue(defaultValue);
|
|
54
|
+
}
|
|
49
55
|
else {
|
|
50
56
|
setValue(rl.line);
|
|
51
57
|
setError(undefined);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { createPrompt, useState, useKeypress, usePrefix, isEnterKey, isBackspace
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
export default createPrompt((config, done) => {
|
|
4
4
|
const [status, setStatus] = useState('pending');
|
|
5
|
-
const [defaultValue, setDefaultValue] = useState(config.default);
|
|
5
|
+
const [defaultValue = '', setDefaultValue] = useState(config.default);
|
|
6
6
|
const [errorMsg, setError] = useState(undefined);
|
|
7
7
|
const [value, setValue] = useState('');
|
|
8
8
|
const isLoading = status === 'loading';
|
|
@@ -13,7 +13,7 @@ export default createPrompt((config, done) => {
|
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
if (isEnterKey(key)) {
|
|
16
|
-
const answer = value || defaultValue
|
|
16
|
+
const answer = value || defaultValue;
|
|
17
17
|
setStatus('loading');
|
|
18
18
|
const isValid = await config.validate(answer);
|
|
19
19
|
if (isValid === true) {
|
|
@@ -22,9 +22,9 @@ export default createPrompt((config, done) => {
|
|
|
22
22
|
done(answer);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
|
|
25
|
+
// Reset the readline line value to the previous value. On line event, the value
|
|
26
|
+
// get cleared, forcing the user to re-enter the value instead of fixing it.
|
|
27
|
+
rl.write(value);
|
|
28
28
|
setError(isValid || 'You must provide a valid value');
|
|
29
29
|
setStatus('pending');
|
|
30
30
|
}
|
|
@@ -32,6 +32,12 @@ export default createPrompt((config, done) => {
|
|
|
32
32
|
else if (isBackspaceKey(key) && !value) {
|
|
33
33
|
setDefaultValue(undefined);
|
|
34
34
|
}
|
|
35
|
+
else if (key.name === 'tab' && !value) {
|
|
36
|
+
setDefaultValue(undefined);
|
|
37
|
+
rl.clearLine(0); // Remove the tab character.
|
|
38
|
+
rl.write(defaultValue);
|
|
39
|
+
setValue(defaultValue);
|
|
40
|
+
}
|
|
35
41
|
else {
|
|
36
42
|
setValue(rl.line);
|
|
37
43
|
setError(undefined);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inquirer/input",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Inquirer input text prompt",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"typings": "./dist/cjs/types/index.d.mts",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"license": "MIT",
|
|
55
55
|
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/input/README.md",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@inquirer/core": "^1.2.
|
|
57
|
+
"@inquirer/core": "^1.2.1",
|
|
58
58
|
"@inquirer/type": "^1.0.3",
|
|
59
59
|
"chalk": "^4.1.2"
|
|
60
60
|
},
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "441c3e3e10ed7dc3dbadbf367dfb0eba4ae09854"
|
|
90
90
|
}
|