@inquirer/confirm
Advanced tools
Comparing version 5.0.2 to 5.1.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const core_1 = require("@inquirer/core"); | ||
function getBooleanValue(value, defaultValue) { | ||
let answer = defaultValue !== false; | ||
if (/^(y|yes)/i.test(value)) | ||
answer = true; | ||
else if (/^(n|no)/i.test(value)) | ||
answer = false; | ||
return answer; | ||
} | ||
function boolToString(value) { | ||
return value ? 'Yes' : 'No'; | ||
} | ||
exports.default = (0, core_1.createPrompt)((config, done) => { | ||
const { transformer = (answer) => (answer ? 'yes' : 'no') } = config; | ||
const { transformer = boolToString } = config; | ||
const [status, setStatus] = (0, core_1.useState)('idle'); | ||
@@ -12,7 +23,3 @@ const [value, setValue] = (0, core_1.useState)(''); | ||
if ((0, core_1.isEnterKey)(key)) { | ||
let answer = config.default !== false; | ||
if (/^(y|yes)/i.test(value)) | ||
answer = true; | ||
else if (/^(n|no)/i.test(value)) | ||
answer = false; | ||
const answer = getBooleanValue(value, config.default); | ||
setValue(transformer(answer)); | ||
@@ -22,2 +29,8 @@ setStatus('done'); | ||
} | ||
else if (key.name === 'tab') { | ||
const answer = boolToString(!getBooleanValue(value, config.default)); | ||
rl.clearLine(0); // Remove the tab character. | ||
rl.write(answer); | ||
setValue(answer); | ||
} | ||
else { | ||
@@ -24,0 +37,0 @@ setValue(rl.line); |
import { createPrompt, useState, useKeypress, isEnterKey, usePrefix, makeTheme, } from '@inquirer/core'; | ||
function getBooleanValue(value, defaultValue) { | ||
let answer = defaultValue !== false; | ||
if (/^(y|yes)/i.test(value)) | ||
answer = true; | ||
else if (/^(n|no)/i.test(value)) | ||
answer = false; | ||
return answer; | ||
} | ||
function boolToString(value) { | ||
return value ? 'Yes' : 'No'; | ||
} | ||
export default createPrompt((config, done) => { | ||
const { transformer = (answer) => (answer ? 'yes' : 'no') } = config; | ||
const { transformer = boolToString } = config; | ||
const [status, setStatus] = useState('idle'); | ||
@@ -10,7 +21,3 @@ const [value, setValue] = useState(''); | ||
if (isEnterKey(key)) { | ||
let answer = config.default !== false; | ||
if (/^(y|yes)/i.test(value)) | ||
answer = true; | ||
else if (/^(n|no)/i.test(value)) | ||
answer = false; | ||
const answer = getBooleanValue(value, config.default); | ||
setValue(transformer(answer)); | ||
@@ -20,2 +27,8 @@ setStatus('done'); | ||
} | ||
else if (key.name === 'tab') { | ||
const answer = boolToString(!getBooleanValue(value, config.default)); | ||
rl.clearLine(0); // Remove the tab character. | ||
rl.write(answer); | ||
setValue(answer); | ||
} | ||
else { | ||
@@ -22,0 +35,0 @@ setValue(rl.line); |
{ | ||
"name": "@inquirer/confirm", | ||
"version": "5.0.2", | ||
"version": "5.1.0", | ||
"description": "Inquirer confirm prompt", | ||
@@ -77,3 +77,3 @@ "keywords": [ | ||
"dependencies": { | ||
"@inquirer/core": "^10.1.0", | ||
"@inquirer/core": "^10.1.1", | ||
"@inquirer/type": "^3.0.1" | ||
@@ -83,3 +83,3 @@ }, | ||
"@arethetypeswrong/cli": "^0.17.0", | ||
"@inquirer/testing": "^2.1.37", | ||
"@inquirer/testing": "^2.1.38", | ||
"@repo/tsconfig": "workspace:*", | ||
@@ -106,3 +106,3 @@ "tshy": "^3.0.2" | ||
}, | ||
"gitHead": "84e49bdb552e1cb4f035d644190913f367a66e74" | ||
"gitHead": "5713287885155c0081fca4190c17c18c598d9602" | ||
} |
9345
114
Updated@inquirer/core@^10.1.1