Przejdź do głównej zawartości

Referencja helperów Handlebars

Każde wyrażenie w aplikacji Restorm jest szablonem Handlebars: adres URL, nagłówek, parametr, treść żądania, zmienna środowiskowa typu Wyrażenie, pole scenariusza, szablon akcji Transform template.

Ta strona zawiera wykaz 116 nazwanych helperów oraz 22 zmiennych dynamicznych.

Ctrl+Space wywołuje autouzupełnianie w polach, które je obsługują.

HelperSygnaturaDziałanie
eq{{eq a b}}a === b
ne{{ne a b}}a !== b
neq{{neq a b}}Alias ne
lt{{lt a b}}a < b (liczbowo)
lte{{lte a b}}a <= b
gt{{gt a b}}a > b
gte{{gte a b}}a >= b
and{{#and a b}}…{{else}}…{{/and}}Blok: wszystkie argumenty prawdziwe
or{{#or a b}}…{{/or}}Blok: co najmniej jeden argument prawdziwy
not{{not value}}Negacja
ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Blok, ścisła równość
is{{#is a b}}…{{/is}}Blok, porównanie jako ciągów znaków
isnt{{#isnt a b}}…{{/isnt}}Blok, różnica jako ciągów znaków
default{{default value fallback}}value, jeśli jest zdefiniowana, w przeciwnym razie fallback
compare{{#compare a "op" b}}…{{/compare}}Blok; op== === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
HelperSygnaturaPrzykład → wynik
lowercase{{lowercase s}}Bonjourbonjour
uppercase{{uppercase s}}BonjourBONJOUR
capitalize{{capitalize s}}bonjour toutBonjour tout
capitalizeAll{{capitalizeAll s}}bonjour toutBonjour Tout
titleize{{titleize s}}Identyczne z capitalizeAll
camelcase{{camelcase s}}mon-champmonChamp
pascalcase{{pascalcase s}}mon-champMonChamp
snakecase{{snakecase s}}monChampmon_champ
snakeCase{{snakeCase s}}Alias snakecase
dashcase{{dashcase s}}monChampmon-champ
dotcase{{dotcase s}}monChampmon.champ
pathcase{{pathcase s}}monChampmon/champ
sentencecase{{sentencecase s}}BONJOUR TOUTBonjour tout
slugify{{slugify s}}Mon Beau Titre !mon-beau-titre
trim{{trim s}}Usuwa spacje z obu końców
trimLeft{{trimLeft s}}Z lewej strony
trimRight{{trimRight s}}Z prawej strony
replace{{replace s search replacement}}Zastępuje wszystkie wystąpienia (dosłownie, bez wyrażeń regularnych)
split{{split s separator}}Dzieli na tablicę; separator domyślnie ,
truncate{{truncate s length suffix}}Domyślnie długość 50 i sufiks ...
ellipsis{{ellipsis s length}}Jak truncate, z
append{{append s suffix}}Dokleja na końcu
prepend{{prepend s prefix}}Dokleja na początku
reverse{{reverse value}}Odwraca ciąg znaków lub tablicę
startsWith{{#startsWith s prefix}}…{{/startsWith}}Blok
endsWith{{#endsWith s suffix}}…{{/endsWith}}Blok
contains{{#contains stringOrArray value}}…{{/contains}}Blok
match{{match s pattern}}Wszystkie dopasowania lub null
test{{#test s pattern}}…{{/test}}Blok, test wyrażenia regularnego
padStart{{padStart s length character}}Dopełnia z lewej strony
padEnd{{padEnd s length character}}Dopełnia z prawej strony
repeat{{repeat s n}}Powtarza
substring{{substring s start end}}Wyodrębnia
indexOf{{indexOf s search}}Pozycja lub -1
count{{count s substring}}Liczba wystąpień
newLineToBr{{newLineToBr s}}\n<br>
stripTags{{stripTags s}}Usuwa znaczniki <…>
{{slugify nomProduit}}
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
HelperSygnaturaDziałanie
add{{add a b}}Suma
subtract{{subtract a b}}Różnica
multiply{{multiply a b}}Iloczyn
divide{{divide a b}}Iloraz
modulo{{modulo a b}}Reszta
abs{{abs a}}Wartość bezwzględna
ceil{{ceil a}}Zaokrąglenie w górę
floor{{floor a}}Zaokrąglenie w dół
round{{round a}}Zaokrąglenie
pow{{pow base exponent}}Potęga
sqrt{{sqrt a}}Pierwiastek kwadratowy
random{{random min max}}Losowa liczba całkowita, granice włącznie
sum{{sum array}}Suma tablicy
avg{{avg array}}Średnia
min{{min a b c …}}Minimum, wariadyczny
max{{max a b c …}}Maksimum, wariadyczny
toFixed{{toFixed number decimals}}Ciąg znaków z N miejscami po przecinku
toInt{{toInt number}}Liczba całkowita (podstawa 10), 0 jako wartość zapasowa
toFloat{{toFloat number}}Liczba zmiennoprzecinkowa, 0 jako wartość zapasowa
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
HelperSygnaturaDziałanie
first{{first array n}}Pierwszy element lub n pierwszych
last{{last array n}}Ostatni lub n ostatnich
length{{length value}}Długość tablicy, długość ciągu znaków lub liczba kluczy
join{{join array separator}}Separator domyślnie ,
sort{{sort array}}Posortowana kopia
unique{{unique array}}Usuwa duplikaty
after{{after array n}}Wszystko po indeksie n
before{{before array n}}Wszystko przed indeksem n
slice{{slice array start end}}Fragment
concat{{concat a b …}}Łączy, spłaszczając o jeden poziom
flatten{{flatten array}}Spłaszcza o jeden poziom
pluck{{pluck array property}}Wyodrębnia jedną właściwość z każdego elementu
itemAt{{itemAt array index}}Element o danym indeksie; indeks ujemny liczony od końca
inArray{{#inArray array value}}…{{/inArray}}Blok
isArray{{isArray value}}Wartość logiczna
isEmpty{{#isEmpty value}}…{{/isEmpty}}Blok
some{{#some array prop value}}…{{/some}}Blok: co najmniej jeden element odpowiada
every{{#every array prop value}}…{{/every}}Blok: wszystkie elementy odpowiadają
{{join (pluck articles "reference") ","}}
HelperSygnaturaDziałanie
JSONstringify{{JSONstringify obj}}Serializuje, wcięcie 2
JSONparse{{JSONparse string}}Parsuje; {} w razie niepowodzenia
get{{get obj "a.b.c"}}Odczyt po ścieżce z kropkami
isObject{{isObject value}}Wartość logiczna (nie null, nie tablica)
typeOf{{typeOf value}}null, array lub typ JavaScript
keys{{keys obj}}Klucze
values{{values obj}}Wartości
entries{{entries obj}}Pary [key, value]
hasOwn{{#hasOwn obj "key"}}…{{/hasOwn}}Blok
pick{{pick obj "k1" "k2"}}Zachowuje tylko te klucze
omit{{omit obj "k1"}}Usuwa te klucze
merge{{merge o1 o2}}Scalanie powierzchowne
{{get reponse "data.client.identifiant"}}
HelperSygnaturaDziałanie
encodeURI{{encodeURI s}}Koduje komponent adresu URL
decodeURI{{decodeURI s}}Dekoduje
urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash } lub null
stripQuerystring{{stripQuerystring url}}Usuwa ciąg zapytania
stripProtocol{{stripProtocol url}}Usuwa schemat
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
HelperSygnaturaDziałanie
year{{year}}Bieżący rok
now{{now}}Bieżąca chwila, w formacie ISO
timestamp{{timestamp}}Bieżąca chwila, w milisekundach
formatDate{{formatDate date "YYYY-MM-DD"}}Formatuje

Warto też zauważyć, że {{timestamp}} podaje wartość w milisekundach, natomiast {{$timestamp}} (zgodność z Postmanem, poniżej) — w sekundach.

HelperSygnaturaDziałanie
coalesce{{coalesce a b c}}Pierwsza wartość różna od null
uuid{{uuid}}UUID v4
noop{{#noop}}…{{/noop}}Blok bez efektu
raw{{{{raw}}}}…{{{{/raw}}}}Nie interpretuje zawartości
times{{#times n}}…{{/times}}Powtarza blok; dostępne @index, @first, @last
range{{range start end step}}Tablica liczb, koniec wyłączony

Helper raw jest tym, czego potrzeba przy celowym wysyłaniu podwójnych nawiasów klamrowych — na przykład w celu przetestowania usługi, która sama je interpretuje.

Zmienne dynamiczne (zgodność z Postmanem) (22)

Section titled “Zmienne dynamiczne (zgodność z Postmanem) (22)”

Bez argumentów, inna wartość przy każdym wyliczeniu.

ZmiennaZwraca
{{$guid}}UUID v4
{{$randomUUID}}UUID v4
{{$timestamp}}Bieżącą chwilę, w sekundach
{{$isoTimestamp}}Bieżącą chwilę, w formacie ISO
{{$randomInt}}Liczbę całkowitą od 0 do 1000
{{$randomAlphaNumeric}}8 znaków alfanumerycznych
{{$randomBoolean}}true lub false
{{$randomFirstName}}Imię
{{$randomLastName}}Nazwisko
{{$randomFullName}}Imię i nazwisko
{{$randomUserName}}firstname.surname<0-99>
{{$randomEmail}}Adres e-mail
{{$randomColor}}Nazwę koloru
{{$randomWord}}Słowo
{{$randomWords}}Trzy słowa
{{$randomCompanyName}}Nazwę firmy
{{$randomCity}}Miasto
{{$randomCountry}}Kraj
{{$randomPhoneNumber}}Numer telefonu
{{$randomIP}}Adres IP
{{$randomIPV4}}Adres IPv4
{{$randomPrice}}Cenę z dwoma miejscami po przecinku
{
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
}

Nie istnieje helper do odczytu zmiennych: znajdują się one bezpośrednio w kontekście. Zapisuje się {{baseUrl}}, a nie {{env "baseUrl"}}.

Zob. Zmienne i środowiska.