nkb emit
Wypisuje wartości paczki dla skryptu albo pliku testowego, jako JSON, CSV albo jedną wartość na wiersz.
nkb emit <pack> [--format json|csv|lines] [--escaped|--raw] [--base64]
Co wypisuje?
Wartości, na standardowe wyjście, i nic więcej. Opis tego, co wyszło, i każda uwaga o tym, czego format nie umiał przenieść, idą na standardowe wyjście błędów, więc plik, do którego przekierujesz wyjście, zawiera same wartości. Paczka z błędem nie zostaje wypisana wcale: paczka jest cała albo jej nie ma.
Przykłady
Jedna wartość na wiersz, dla testu, który czyta plik tekstowy:
$ nkb emit magic-values --format lines > magic-values.txt
nkb emit: 12 values, 47 code points, 47 bytes
$ head -4 magic-values.txt
no
null
true
NaN
JSON, format domyślny, niesie każde pole każdej wartości i obie jej postacie, samą wartość i wartość w postaci escapowanej:
$ nkb emit locale-pl
{
"schema": 1,
"values": [
{
"pack": "locale-pl",
"ref": "locale-pl/pesel-valid",
"id": "pesel-valid",
"name": "PESEL with a valid checksum",
"value": "99023012343",
"escaped": "99023012343",
CSV, jeden wiersz na wartość, domyślnie w postaci escapowanej, bo ten katalog zawiera wartości, które niszczą pliki CSV:
$ nkb emit dates-impossible --format csv
nkb emit: 12 values, 111 code points, 111 bytes
pack,ref,id,name,value,breaks,expect,fields,tags,risk,since,source,generated
dates-impossible,dates-impossible/feb-30,feb-30,30 February,30.02.2026,...
O którą postać prosić?
Postać escapowana zapisuje znak, którego nikt nie zobaczy, jako sekwencję ucieczki, tak jak zapisuje go plik paczki, więc recenzent może ją przeczytać, a plik przeżyje edytor. Postać surowa zapisuje samą wartość i to ją test powinien podać aplikacji. --escaped i --raw wybierają jedną z nich, a prośba o obie zostaje odrzucona, zamiast być po cichu rozstrzygnięta. --base64 koduje każdą wartość dla kanału, który uszkodziłby tekst, na przykład zmiennej powłoki albo środowiska, które przepisuje końce wierszy.
lines odrzuca wartość, która zawiera podział wiersza, i nazywa ją, zamiast po cichu rozdzielić ją na dwa wiersze.
Opcje
Formaty
Kody wyjścia
Pomoc tego polecenia nie wymienia własnych kodów wyjścia. Liczby znaczą to samo w każdym poleceniu: Kody wyjścia
Pomoc, tak jak wypisuje ją program
Co wypisuje nkb emit --help (nkb 0.1.0).
nkb emit - print a pack's values for a script or a file
Usage:
nkb emit <pack> [--format json|csv|lines] [--escaped|--raw] [--base64]
Values go to standard output. The account of what came out, and any
note about what a format could not carry, go to standard error - so a
redirected file holds values and nothing else.
Formats:
json Both forms of every value, and every field. The default,
because it is the only one that carries the whole catalogue
csv One row per value. Escaped by default, because this
catalogue contains values that destroy CSV files
lines One value per line. Refuses a value containing a line
break by name, rather than splitting it silently
Options:
--escaped Print values as a pack file stores them
--raw Print values literally
--base64 Encode values, for channels that damage text
-h, --help Show this help and exit with 0