Ana içeriğe geç

Enquirer's Prompts

Bu bölüm, Enquirer's prompt'larının neye benzediği, nasıl çalıştığı, nasıl çalıştırılacağı, mevcut seçenekleri ve prompt'ları özelleştirme veya kendi prompt kavramınızı oluşturma hakkında bilgi vermektedir.

Enquirer's prompt'larına başlamak

  • Prompt - Diğer prompt'lar tarafından kullanılan temel Prompt sınıfı
    • Prompt Seçenekleri
  • Yerleşik prompt'lar
  • Prompt Türleri - Diğer prompt'lar tarafından kullanılan temel Prompt sınıfı
  • Özel prompt'lar - Enquirer 2.0, özel prompt'ların oluşturulmasını ve kullanılmasını daha kolay hale getirmek amacıyla "tip" kavramını tanıttı.

Prompt

Temel Prompt sınıfı, tüm diğer prompt'ları oluşturmak için kullanılır.

const { Prompt } = require('enquirer');
class MyCustomPrompt extends Prompt {}

Bunun nasıl çalıştığını öğrenmek için özel prompt' oluşturma belgelerine göz atın.

Prompt Seçenekleri

Her prompt, aşağıdaki arayüzü uygulayan bir seçenek nesnesi (veya "soru" nesnesi) alır:

{
// zorunlu
type: string | function,
name: string | function,
message: string | function | async function,

// isteğe bağlı
skip: boolean | function | async function,
initial: string | function | async function,
format: function | async function,
result: function | async function,
validate: function | async function,
}
ipucu

Seçenek nesnesinin her bir özelliği aşağıda açıklanmaktadır:

ÖzellikZorunlu mi?TürAçıklama
typeevet`stringfunction`
nameevet`stringfunction`
messageevet`stringfunction`
skiphayır`booleanfunction`
initialhayır`stringfunction`
formathayırfunctionKullanıcı girişini terminalde formatlamak için fonksiyon.
resulthayırfunctionNihai gönderilen değeri geri dönmeden önce formatlamak için fonksiyon.
validatehayırfunctionGönderilen değeri geri dönmeden önce doğrulamak için fonksiyon. Bu fonksiyon bir boolean veya string döndürebilir. Bir string dönerse, doğrulama hata mesajı olarak kullanılacaktır.

Örnek kullanım

const { prompt } = require('enquirer');

const question = {
type: 'input',
name: 'username',
message: 'Kullanıcı adınız nedir?'
};

prompt(question)
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

Yerleşik prompt'lar

  • AutoComplete Prompt
  • BasicAuth Prompt
  • Confirm Prompt
  • Form Prompt
  • Input Prompt
  • Invisible Prompt
  • List Prompt
  • MultiSelect Prompt
  • Numeral Prompt
  • Password Prompt
  • Quiz Prompt
  • Survey Prompt
  • Scale Prompt
  • Select Prompt
  • Sort Prompt
  • Snippet Prompt
  • Toggle Prompt

AutoComplete Prompt

Kullanıcı yazdıkça otomatik olarak tamamlanan ve seçilen değeri string olarak döndüren prompt.

Örnek Kullanım

const { AutoComplete } = require('enquirer');

const prompt = new AutoComplete({
name: 'flavor',
message: 'Favori lezzetinizi seçin',
limit: 10,
initial: 2,
choices: [
'Badem',
'Elma',
'Muz',
'Böğürtlen',
'Yaban Mersini',
'Kiraz',
'Çikolata',
'Tarçın',
'Hindistan Cevizi',
'Kızılcık',
'Üzüm',
'Şekerleme',
'Portakal',
'Armut',
'Ananas',
'Frambuaz',
'Çilek',
'Vanilya',
'Karpuz',
'Kış Yeşili'
]
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

AutoComplete Seçenekleri

SeçenekTürVarsayılanAçıklama
highlightfunctiondim sürümü birincil stilinKullanıcının girişine uyan karakterleri "vurgularken" kullanılacak renk.
multiplebooleanfalseBirden fazla seçim yapılmasına izin verir.
suggestfunctionHırslı eşleşme, choice.message içinde giriş stringi bulunan seçimleri döndürür.Seçimleri filtreleyen fonksiyon. Kullanıcı girişini ve bir seçim dizisini alır ve eşleşen seçimlerin bir listesini döndürür.
initialnumber0Seçim listesindeki önceden seçilmiş öğe.
footerfunctionYokfooter metnini gösteren fonksiyon.

İlgili prompt'lar

  • Select
  • MultiSelect
  • Survey

↑ geri dön: Başlarken · Prompts


BasicAuth Prompt

Kullanıcıdan kimlik doğrulamak için kullanıcı adı ve şifre isteyen prompt. BasicAuth prompt'undaki authenticate fonksiyonunun varsayılan uygulaması, kullanıcı adı ve şifreyi prompt çalıştırılırken sağlanan değerlerle karşılaştırmaktır. Uygulayıcının, girilen kullanıcı adı ve şifreyi doğrulamak için bir API isteği yapma gibi özel bir mantıkla authenticate fonksiyonunu geçersiz kılması beklenmektedir.

Örnek Kullanım

const { BasicAuth } = require('enquirer');

const prompt = new BasicAuth({
name: 'password',
message: 'Lütfen şifrenizi girin',
username: 'rajat-sr',
password: '123',
showPassword: true
});

prompt
.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

↑ geri dön: Başlarken · Prompts


Confirm Prompt

true veya false döndüren prompt.

Örnek Kullanım

const { Confirm } = require('enquirer');

const prompt = new Confirm({
name: 'question',
message: 'Cevap vermek ister misiniz?'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili prompt'lar

  • Input
  • Numeral
  • Password

↑ geri dön: Başlarken · Prompts


Form Prompt

Kullanıcının tek bir terminal ekranında birden fazla değer girmesine ve göndermesine izin veren prompt.

Örnek Kullanım

const { Form } = require('enquirer');

const prompt = new Form({
name: 'user',
message: 'Lütfen aşağıdaki bilgileri sağlayın:',
choices: [
{ name: 'firstname', message: 'Ad', initial: 'Jon' },
{ name: 'lastname', message: 'Soyad', initial: 'Schlinkert' },
{ name: 'username', message: 'GitHub kullanıcı adı', initial: 'jonschlinkert' }
]
});

prompt.run()
.then(value => console.log('Cevap:', value))
.catch(console.error);

İlgili prompt'lar

  • Input
  • Survey

↑ geri dön: Başlarken · Prompts


Input Prompt

Kullanıcı girişini alan ve bir string döndüren prompt.

Örnek Kullanım

const { Input } = require('enquirer');
const prompt = new Input({
message: 'Kullanıcı adınız nedir?',
initial: 'jonschlinkert'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.log);

Kullanıcının döngü yapabileceği girdi geçmişi saklamak için data-store kullanabilirsiniz (bkz. kaynak).

İlgili prompt'lar

  • Confirm
  • Numeral
  • Password

↑ geri dön: Başlarken · Prompts


Invisible Prompt

Kullanıcı girişini alan, terminalden gizleyen ve bir string döndüren prompt.

Örnek Kullanım

const { Invisible } = require('enquirer');
const prompt = new Invisible({
name: 'secret',
message: 'Sırrınız nedir?'
});

prompt.run()
.then(answer => console.log('Cevap:', { secret: answer }))
.catch(console.error);

İlgili prompt'lar

  • Password
  • Input

↑ geri dön: Başlarken · Prompts


List Prompt

Kullanıcı girişini bir liste değerine dönüştüren prompt. Varsayılan ayırıcı karakter , ile isteğe bağlı son boşluktur.

Örnek Kullanım

const { List } = require('enquirer');
const prompt = new List({
name: 'keywords',
message: 'Virgülle ayrılmış anahtar kelimeleri yazın'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili prompt'lar

  • Sort
  • Select

↑ geri dön: Başlarken · Prompts


MultiSelect Prompt

Kullanıcının bir dizi seçenekten birden fazla öğe seçmesine izin veren prompt.

Örnek Kullanım

const { MultiSelect } = require('enquirer');

const prompt = new MultiSelect({
name: 'value',
message: 'Favori renklerinizi seçin',
limit: 7,
choices: [
{ name: 'aqua', value: '#00ffff' },
{ name: 'black', value: '#000000' },
{ name: 'blue', value: '#0000ff' },
{ name: 'fuchsia', value: '#ff00ff' },
{ name: 'gray', value: '#808080' },
{ name: 'green', value: '#008000' },
{ name: 'lime', value: '#00ff00' },
{ name: 'maroon', value: '#800000' },
{ name: 'navy', value: '#000080' },
{ name: 'olive', value: '#808000' },
{ name: 'purple', value: '#800080' },
{ name: 'red', value: '#ff0000' },
{ name: 'silver', value: '#c0c0c0' },
{ name: 'teal', value: '#008080' },
{ name: 'white', value: '#ffffff' },
{ name: 'yellow', value: '#ffff00' }
]
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

// Cevap: ['aqua', 'blue', 'fuchsia']

Örnek anahtar-değer çiftleri

İsteğe bağlı olarak, bir result fonksiyonu geçebilir ve seçilen isimlerin ve değerlerin bir nesnesini döndürmek için .map yöntemini kullanabilirsiniz: örnek

const { MultiSelect } = require('enquirer');

const prompt = new MultiSelect({
name: 'value',
message: 'Favori renklerinizi seçin',
limit: 7,
choices: [
{ name: 'aqua', value: '#00ffff' },
{ name: 'black', value: '#000000' },
{ name: 'blue', value: '#0000ff' },
{ name: 'fuchsia', value: '#ff00ff' },
{ name: 'gray', value: '#808080' },
{ name: 'green', value: '#008000' },
{ name: 'lime', value: '#00ff00' },
{ name: 'maroon', value: '#800000' },
{ name: 'navy', value: '#000080' },
{ name: 'olive', value: '#808000' },
{ name: 'purple', value: '#800080' },
{ name: 'red', value: '#ff0000' },
{ name: 'silver', value: '#c0c0c0' },
{ name: 'teal', value: '#008080' },
{ name: 'white', value: '#ffffff' },
{ name: 'yellow', value: '#ffff00' }
],
result(names) {
return this.map(names);
}
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

// Cevap: { aqua: '#00ffff', blue: '#0000ff', fuchsia: '#ff00ff' }

Örnek alternatif etiketler

const { MultiSelect } = require('enquirer');

const prompt = new MultiSelect({
name: 'color',
message: 'Bir lezzet seçin',
choices: [
{ message: 'Negatif Kırmızı', name: 'cyan', value: '#00ffff' },
{ message: 'Işıklar Kapalı', name: 'black', value: '#000000' },
{ message: 'Okyanus', name: 'blue', value: '#0000ff' },
]
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili prompt'lar

  • AutoComplete
  • Select
  • Survey

↑ geri dön: Başlarken · Prompts


Numeral Prompt

Bir sayı olarak giriş alan prompt.

Örnek Kullanım

const { NumberPrompt } = require('enquirer');

const prompt = new NumberPrompt({
name: 'number',
message: 'Lütfen bir sayı girin'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili prompt'lar

  • Input
  • Confirm

↑ geri dön: Başlarken · Prompts


Password Prompt

Kullanıcı girişini alır ve terminalde gizler. Ayrıca gizli prompt için de bakabilirsiniz.

Örnek Kullanım

const { Password } = require('enquirer');

const prompt = new Password({
name: 'password',
message: 'Şifreniz nedir?'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili prompt'lar

  • Input
  • Invisible

↑ geri dön: Başlarken · Prompts


Quiz Prompt

Kullanıcının çoktan seçmeli quiz sorularını oynamasına izin veren prompt.

Örnek Kullanım

const { Quiz } = require('enquirer');

const prompt = new Quiz({
name: 'countries',
message: 'Dünyada kaç ülke var?',
choices: ['165', '175', '185', '195', '205'],
correctChoice: 3
});

prompt
.run()
.then(answer => {
if (answer.correct) {
console.log('Doğru!');
} else {
console.log(`Yanlış! Doğru cevap ${answer.correctAnswer}`);
}
})
.catch(console.error);

Quiz Seçenekleri

SeçenekTürZorunluAçıklama
choicesarrayEvetQuiz sorusuna olası cevapların listesi.
correctChoicenumberEvetchoices dizisindeki doğru seçim indeksidir.

↑ geri dön: Başlarken · Prompts


Survey Prompt

Kullanıcının bir dizi soru için geri bildirimde bulunmasına izin veren prompt.

Örnek Kullanım

const { Survey } = require('enquirer');

const prompt = new Survey({
name: 'experience',
message: 'Lütfen deneyiminizi değerlendirin',
scale: [
{ name: '1', message: 'Kesinlikle Katılmıyorum' },
{ name: '2', message: 'Katılmıyorum' },
{ name: '3', message: 'Tarafsızım' },
{ name: '4', message: 'Katılıyorum' },
{ name: '5', message: 'Kesinlikle Katılıyorum' }
],
margin: [0, 0, 2, 1],
choices: [
{
name: 'interface',
message: 'Web sitesinin kullanıcı dostu bir arayüzü var.'
},
{
name: 'navigation',
message: 'Web sitesi kolaylıkla gezilebilir.'
},
{
name: 'images',
message: 'Web sitesi genellikle iyi görüntülere sahiptir.'
},
{
name: 'upload',
message: 'Web sitesi, resim yüklemeyi kolaylaştırıyor.'
},
{
name: 'colors',
message: 'Web sitesinin hoş bir renk paleti var.'
}
]
});

prompt.run()
.then(value => console.log('Cevaplar:', value))
.catch(console.error);

İlgili prompt'lar

  • Scale
  • Snippet
  • Select

Scale Prompt

Survey prompt için daha kompakt bir versiyon olarak, Scale prompt kullanıcının hızlı bir şekilde Likert Skalasını kullanarak geri bildirimde bulunmasına olanak tanır.

Örnek Kullanım

const { Scale } = require('enquirer');
const prompt = new Scale({
name: 'experience',
message: 'Lütfen deneyiminizi değerlendirin',
scale: [
{ name: '1', message: 'Kesinlikle Katılmıyorum' },
{ name: '2', message: 'Katılmıyorum' },
{ name: '3', message: 'Tarafsızım' },
{ name: '4', message: 'Katılıyorum' },
{ name: '5', message: 'Kesinlikle Katılıyorum' }
],
margin: [0, 0, 2, 1],
choices: [
{
name: 'interface',
message: 'Web sitesinin kullanıcı dostu bir arayüzü var.',
initial: 2
},
{
name: 'navigation',
message: 'Web sitesi kolaylıkla gezilebilir.',
initial: 2
},
{
name: 'images',
message: 'Web sitesi genellikle iyi görüntülere sahiptir.',
initial: 2
},
{
name: 'upload',
message: 'Web sitesi, resim yüklemeyi kolaylaştırıyor.',
initial: 2
},
{
name: 'colors',
message: 'Web sitesinin hoş bir renk paleti var.',
initial: 2
}
]
});

prompt.run()
.then(value => console.log('Cevaplar:', value))
.catch(console.error);

İlgili prompt'lar

  • AutoComplete
  • Select
  • Survey

↑ geri dön: Başlarken · Prompts



title: Seçim İstemi description: Seçim istemleri, kullanıcının çeşitli seçeneklerden seçim yapmasını sağlayan fonksiyonlar sunar. Bu belgede, kullanım örnekleri ve detaylar verilmiştir.

keywords: [seçim, istem, Enquirer, örnek, kullanıcı etkileşimi]

Seçim İstemi

Kullanıcının bir seçenekler listesinden seçim yapmasına olanak tanır.

Örnek Kullanım

const { Select } = require('enquirer');

const prompt = new Select({
name: 'color',
message: 'Bir tat seçin',
choices: ['elma', 'üzüm', 'karpuz', 'vişne', 'portakal']
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);
ipucu

Kullanıcıdan seçim almak için Select sınıfını kullanabilirsiniz. Bu, konsol tabanlı uygulamalar için etkileşimli bir yöntemdir.

Örnek anahtar-değer çiftleri

const { Select } = require('enquirer');

const prompt = new Select({
name: 'color',
message: 'Bir renk seçin',
choices: [
{ name: 'cyan', value: '#00ffff' },
{ name: 'black', value: '#000000' },
{ name: 'blue', value: '#0000ff' },
]
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

Örnek alternatif etiketler

const { Select } = require('enquirer');

const prompt = new Select({

name: 'color', message: 'Bir renk seçin',
choices: [
{ message: 'Negatif Kırmızı', name: 'cyan', value: '#00ffff' },
{ message: 'Işıklar Kapalı', name: 'black', value: '#000000' },
{ message: 'Okyanus', name: 'blue', value: '#0000ff' },
]
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);
bilgi

Bu örneklerde, her seçeneğe alternatif etiketler eklenmiştir. Bu, kullanıcı deneyimini artırır.

İlgili istemler

  • Otomatik Tamamla
  • Çoklu Seçim

↑ geri dön: Başlarken · İstemler


Sıralama İstemi

Kullanıcının bir listedeki öğeleri sıralamasına olanak tanır.

Örnek

Bu örnekte, döndürülen değerlere özel stil uygulaması yaparak olan biteni daha kolay görmeyi sağlar.

Örnek Kullanım

const colors = require('ansi-colors');
const { Sort } = require('enquirer');
const prompt = new Sort({
name: 'colors',
message: 'Renkleri tercihe göre sırala',
hint: 'En üst en iyisi, en alt en kötüsü',
numbered: true,
choices: ['red', 'white', 'green', 'cyan', 'yellow'].map(n => ({
name: n,
message: colors`n`
}))
});

prompt.run()
.then(function(answer = []) {
console.log(answer);
console.log('Tercih ettiğiniz renk sırası:');
console.log(answer.map(key => colors`key`).join('\n'));
})
.catch(console.error);
tehlike

Sıralama istemi, kullanıcıların tercihlerine göre öğeleri sıralamalarına olanak tanır. Kullanıcıdan doğru girdileri almak için talimatların net olması önemlidir.

İlgili istemler

  • Liste
  • Seçim

↑ geri dön: Başlarken · İstemler


Parça İstemi

Kullanıcının kod veya metinde yer tutucuları değiştirmesine olanak tanır.

Örnek Kullanım

const semver = require('semver');
const { Snippet } = require('enquirer');
const prompt = new Snippet({
name: 'username',
message: 'package.json dosyasındaki alanları doldurun',
required: true,
fields: [
{
name: 'author_name',
message: 'Yazar Adı'
},
{
name: 'version',
validate(value, state, item, index) {
if (item && item.name === 'version' && !semver.valid(value)) {
return prompt.styles.danger('sürüm geçerli bir semver değeri olmalıdır');
}
return true;
}
}
],
template: `{
"name": "\${name}",
"description": "\${description}",
"version": "\${version}",
"homepage": "https://github.com/\${username}/\${name}",
"author": "\${author_name} (https://github.com/\${username})",
"repository": "\${username}/\${name}",
"license": "\${license:ISC}"
}
`
});

prompt.run()
.then(answer => console.log('Cevap:', answer.result))
.catch(console.error);

İlgili istemler

  • Anket
  • Otomatik Tamamla

↑ geri dön: Başlarken · İstemler


Anahtar İstemi

Kullanıcının iki değer arasında geçiş yapmasına olanak tanır ve true veya false döndürür.

Örnek Kullanım

const { Toggle } = require('enquirer');

const prompt = new Toggle({
message: 'Cevap vermek ister misiniz?',
enabled: 'Evet',
disabled: 'Hayır'
});

prompt.run()
.then(answer => console.log('Cevap:', answer))
.catch(console.error);

İlgili istemler

  • Onayla
  • Girdi
  • Sıralama

↑ geri dön: Başlarken · İstemler


İstem Türleri

5 (yakında 6 olacak!) tür sınıfı vardır:

  • Dizi İstemi
    • Seçenekler
    • Özellikler
    • Metodlar
    • Seçenekler
    • Seçenekleri tanımlama
    • Seçenek özellikleri
    • İlgili istemler
  • Kimlik Doğrulama İstemi
  • Boolean İstemi
  • Tarih İstemi (Yakında!)
  • Sayı İstemi
  • Dize İstemi

Her bir tür, daha üst düzey istemler oluşturma konusunda bir başlangıç noktası olarak kullanılabilecek düşük seviyeli bir sınıftır. Nasıl yapılacağını öğrenmek için okumaya devam edin.

Dizi İstemi

ArrayPrompt sınıfı, terminalde bir seçim listesi görüntülemek için kullanılan bir istem oluşturmada kullanılır. Örneğin, Enquirer bu sınıfı Seçim ve Anket istemleri için temel olarak kullanır.

Seçenekler

Tüm istemlere (options) ek olarak, Dizi istemleri de aşağıdaki seçenekleri destekler.

SeçenekGerekli mi?TürAçıklama
autofocushayır`stringnumber`
stdinhayırstreamTuş vuruşu olaylarını yayımlamak için kullanılacak giriş akışı. Varsayılan olarak process.stdin'dir.
stdouthayırstreamİstemi terminale yazmak için kullanılacak çıkış akışı. Varsayılan olarak process.stdout'dır.

Özellikler

Dizi istemlerinin aşağıdaki örnek özellikleri ve alıcıları vardır.

Özellik AdıTürAçıklama
choicesarrayİstem seçenekleriyle geçirilen seçimlerden normalize edilmiş seçimlerin dizisi.
cursornumberKullanıcı girişi (string) karşısındaki imlecin pozisyonu.
enabledarrayEtkin seçimlerin bir dizisini döndürür.
focusedarrayGörünür seçimler listesindeki şu anda seçili seçimi döndürür. Bu, HTML ve CSS'deki odak kavramına benzer. Odaklı seçimler her zaman görünürdir (ekranda). Seçimler listesi görünür seçimlerden daha uzunsa ve ekran dışındaki bir seçim odaklanmışsa, liste odaklanmış seçime kaydırılır ve yeniden oluşturulur.
focusedŞu anda seçili olan seçimi alır. prompt.choices[prompt.index] ile eşdeğerdir.
indexnumberGörünür seçimler listesindeki gösterici pozisyonudur.
limitnumberEkranda görüntülenecek seçenek sayısı.
selectedarrayYa etkin seçimlerin listesi (seçeneklerin çoklu olduğu durumlarda) ya da şu anda odaklanmış seçimdir.
visiblestring

Metodlar

MetodAçıklama
pointer()Şu anda odaklanmış olan seçimi tanımlamak için kullanılacak görsel sembolü döndürür. Genellikle sembolü kullanılır. Gösterici her zaman görünür değildir, otomatik tamamla isteminde olduğu gibi.
indicator()Bir seçimin işaretlenip işaretlenmediğini gösteren görsel sembolü döndürür.
focus()Bir seçime odaklanmayı ayarlar, eğer odaklanabiliyorsa.

Seçenekler

Dizi istemleri, terminalde görüntülendiğinde kullanıcıların seçebileceği seçimler dizisini temsil eden choices seçeneğini destekler.

Tür: string|object

Örnek

const { prompt } = require('enquirer');

const questions = [{
type: 'select',
name: 'color',
message: 'Favori renk?',
initial: 1,
choices: [
{ name: 'red', message: 'Kırmızı', value: '#ff0000' }, //<= seçim nesnesi
{ name: 'green', message: 'Yeşil', value: '#00ff00' }, //<= seçim nesnesi
{ name: 'blue', message: 'Mavi', value: '#0000ff' } //<= seçim nesnesi
]
}];

const answers = await prompt(questions);
console.log('Cevap:', answers.color);

Seçenekleri Tanımlama

Bir dizi ya da nesne olarak tanımlansalar da, seçenekler şu arayüze normalize edilir:

{
name: string;
message: string | undefined;
value: string | undefined;
hint: string | undefined;
disabled: boolean | string | undefined;
}

Örnek

const question = {
name: 'fruit',
message: 'Favori meyve?',
choices: ['Elma', 'Portakal', 'Ahududu']
};

İstem çalıştırıldığında şu şekilde normalize edilir:

const question = {
name: 'fruit',
message: 'Favori meyve?',
choices: [
{ name: 'Elma', message: 'Elma', value: 'Elma' },
{ name: 'Portakal', message: 'Portakal', value: 'Portakal' },
{ name: 'Ahududu', message: 'Ahududu', value: 'Ahududu' }
]
};

Seçenek Özellikleri

choice nesnelerinde aşağıdaki özellikler desteklenir.

SeçenekTürAçıklama
namestringBir seçimi tanımlamak için benzersiz anahtar
messagestringTerminalde görüntülenmesi gereken mesaj. Bu tanımlayıcı undefined olduğunda name kullanılır.
valuestringSeçim ile ilişkilendirilecek değer. Kullanıcı seçimlerinden anahtar-değer çiftleri oluşturma için kullanışlıdır. Bu tanımlayıcı undefined olduğunda name kullanılır.
choicesarray"Çocuk" seçimlerin dizisi.
hintstringBir seçimin yanında görüntülenmesi gereken yardım mesajı.
rolestringSeçimin nasıl görüntüleneceğini belirler. Mevcut olan tek rol separatordır. Gelecekte ek roller (başlık vb.) eklenebilir. Lütfen [özellik isteği] oluşturun.
enabledbooleanBir seçimin varsayılan olarak etkinleştirilmesi. Bu yalnızca options.multiple true olduğunda veya Çoklu Seçim gibi birden fazla seçim destekleyen istemlerde desteklenir.
disabled`booleanstring`
indicator`stringfunction`

İlgili İstemler

  • Otomatik Tamamla
  • Form
  • Çoklu Seçim
  • Seçim
  • Anket

Kimlik Doğrulama İstemi

AuthPrompt, kullanıcıyı herhangi bir kimlik doğrulama yöntemiyle giriş yapmak için istemler oluşturmak için kullanılır. Örneğin, Enquirer bu sınıfı BasicAuth İstemi için temel olarak kullanır. Ayrıca kimlik doğrulamayı zaman tabanlı OTP kullanarak ya da OAuth tabanlı kimlik doğrulama istemi oluşturan AuthPrompt'u kullanan istem örneklerini examples/auth/ klasöründe bulabilirsiniz.

AuthPrompt, AuthPrompt sınıfının bir örneğini oluşturan bir fabrika fonksiyonuna sahiptir ve bir authenticate fonksiyonu alır; bu, AuthPrompt sınıfının authenticate fonksiyonunu geçersiz kılmak için bir argümandır.

Metodlar

MetodAçıklama
authenticate()Tüm kimlik doğrulama mantığını içerir. Bu fonksiyon, özel kimlik doğrulama mantığı uygulamak için geçersiz kılınmalıdır. Varsayılan authenticate fonksiyonu, başka bir fonksiyon sağlanmadığında hata fırlatır.

Seçenekler

Kimlik doğrulama istemi, Form İstemi ile kullanılan seçeneklere benzer şekilde choices seçeneğini destekler.

Örnek

const { AuthPrompt } = require('enquirer');

function authenticate(value, state) {
if (value.username === this.options.username && value.password === this.options.password) {
return true;
}
return false;
}

const CustomAuthPrompt = AuthPrompt.create(authenticate);

const prompt = new CustomAuthPrompt({
name: 'password',
message: 'Lütfen şifrenizi girin',
username: 'rajat-sr',
password: '1234567',
choices: [
{ name: 'username', message: 'kullanıcı adı' },
{ name: 'password', message: 'şifre' }
]
});

prompt
.run()
.then(answer => console.log('Kimlik doğrulandı mı?', answer))
.catch(console.error);

İlgili İstemler

  • BasicAuth İstemi

Boolean İstemi

BooleanPrompt sınıfı, görüntüleyen ve boolean değeri döndüren istemler oluşturmak için kullanılır.

const { BooleanPrompt } = require('enquirer');

const prompt = new BooleanPrompt({
header: '========================',
message: 'Enquirer\'ı seviyor musunuz?',
footer: '========================',
});

prompt.run()
.then(answer => console.log('Seçildi:', answer))
.catch(console.error);

Dönüş: boolean


Sayı İstemi

NumberPrompt sınıfı, görüntüleyen ve sayısal değeri döndüren istemler oluşturmak için kullanılır.

const { NumberPrompt } = require('enquirer');

const prompt = new NumberPrompt({
header: '************************',
message: 'Sayılari girin:',
footer: '************************',
});

prompt.run()
.then(answer => console.log('Sayilar:', answer))
.catch(console.error);

Dönüş: string|number (sayı veya sayı biçiminde dize)


Dize İstemi

StringPrompt sınıfı, görüntüleyen ve dize değeri döndüren istemler oluşturmak için kullanılır.

const { StringPrompt } = require('enquirer');

const prompt = new StringPrompt({
header: '************************',
message: 'Diziyi girin:',
footer: '************************'
});

prompt.run()
.then(answer => console.log('Dizi:', answer))
.catch(console.error);

Dönüş: string

❯ Özel istemler

{%= format(include('docs/custom-prompts.md')) %}