Ana içeriğe geç

Seçenekler

Aşağıdaki işlevler, cli komutlarınız için yeni seçenekler tanımlamanıza olanak tanır. Her bir komutun içine düzenli genel sınıf özellikleri (özel sınıf özellikleri desteklenmez) ile kaydedilmelidir:

class MyCommand extends Command {
flag = Option.Boolean(`--flag`);
}

Option.Array

Option.Array(optionNames: string, default?: string[], opts?: {...})
SeçenektürAçıklama
aritynumberSeçenek için argüman sayısı
descriptionstringYardım mesajı için kısa açıklama
hiddenbooleanSeçeneği herhangi bir kullanım listesinden gizle
requiredbooleanSeçeneğin en az bir kez bulunup bulunmadığı

Komutun bir dizi string argüman kabul ettiğini belirtir. arity parametresi, her bir öğe için kaç değer kabul edilmesi gerektiğini tanımlar. Varsayılan bir değer sağlanmadığında, seçenek undefined olarak başlar.

class RunCommand extends Command {
args = Option.Array(`--arg`);
points = Option.Array(`--point`, {arity: 3});
// ...
}

Örnek Çıktı: Aşağıdaki komutlarda args ve points değerlerini görebilirsiniz:

run --arg value1 --arg value2
# => TestCommand {"args": ["value1", "value2"]}

run --point x y z --point a b c
# => TestCommand {"points": [["x", "y", "z"], ["a", "b", "c"]]}

Option.Boolean

Option.Boolean(optionNames: string, default?: boolean, opts?: {...})
SeçenektürAçıklama
descriptionstringYardım mesajı için kısa açıklama
hiddenbooleanSeçeneği herhangi bir kullanım listesinden gizle
requiredbooleanSeçeneğin en az bir kez bulunup bulunmadığı

Komutun bir boolean bayrağı seçenek olarak kabul ettiğini belirtir. Varsayılan bir değer sağlanmadığında, seçenek undefined olarak başlar.

class TestCommand extends Command {
flag = Option.Boolean(`--flag`);
// ...
}

Üretim Örneği:

run --flag
# => TestCommand {"flag": true}

Option.Counter

Option.Counter(optionNames: string, default?: number, opts?: {...})
SeçenektürAçıklama
descriptionstringYardım mesajı için kısa açıklama
hiddenbooleanSeçeneği herhangi bir kullanım listesinden gizle
requiredbooleanSeçeneğin en az bir kez bulunup bulunmadığı

Dikkat: Komutun bir boolean bayrağı seçenek olarak kabul ettiğini belirtir. Klasik boolean seçeneklerin aksine, her algılanan durum sayacı artıracaktır. Argüman reddedildiğinde (--no-), sayaç 0'a sıfırlanacaktır. Varsayılan bir değer sağlanmadığında, seçenek undefined olarak başlar.

class TestCommand extends Command {
verbose = Option.Counter(`-v,--verbose`);
// ...
}

Örnek Çıktı:

run -v
# => TestCommand {"verbose": 1}

run -vv
# => TestCommand {"verbose": 2}

run --verbose -v --verbose -v
# => TestCommand {"verbose": 4}

run --verbose -v --verbose -v --no-verbose
# => TestCommand {"verbose": 0}

Option.Proxy

Option.Proxy(opts?: {...})
SeçenektürAçıklama
requirednumberGerekli olan son argümanların sayısı

Not: Proxying her komut için yalnızca bir kez gerçekleşebilir. Bir kez tetiklendiğinde, bir komut "proxy modu"ndan çıkamaz, tüm kalan argümanlar bir listeye proxy yapılır.

class RunCommand extends Command {
args = Option.Proxy();
// ...
}

Üretim Örneği:

run
# => TestCommand {"values": []}

run value1 value2
# => TestCommand {"values": ["value1", "value2"]}

Option.Rest

Option.Rest(opts?: {...})
SeçenektürAçıklama
requirednumberGerekli olan son argümanların sayısı

Not: Rest argümanları kesinlikle konumsaldır. Rest argümanları arasında bulunan tüm seçenekler, Command örneğinin seçenekleri olarak tüketilecektir.

class RunCommand extends Command {
values = Option.Rest();
// ...
}

Üretim Örneği:

run
# => TestCommand {"values": []}

run value1 value2

=> TestCommand {"values": ["value1", "value2"]}



Option.String (seçenek)

Option.String(optionNames: string, default?: string, opts?: {...})
SeçenektürAçıklama
aritynumberSeçenek için argüman sayısı
descriptionstringYardım mesajı için kısa açıklama
envstringBir ortam değişkeninin adı
hiddenbooleanSeçeneği herhangi bir kullanım listesinden gizle
tolerateBooleanbooleanArgüman sağlanmasa bile seçeneği kabul et
requiredbooleanSeçeneğin en az bir kez bulunup bulunmadığı

Komutun argüman alan bir seçenek kabul ettiğini belirtir (varsayılan olarak bir tane, ancak arity ile değiştirilebilir). Varsayılan bir değer sağlanmadığında, seçenek undefined olarak başlar.

class TestCommand extends Command {
arg = Option.String(`-a,--arg`);
// ...
}

Dikkat edin, varsayılan olarak, argüman kabul eden seçenekler cli'da bir argüman almak zorundadır.

run --arg value
run --arg=value
run -a value
run -a=value
# => TestCommand {"arg": "value"}