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ą.
Zmienna ma pierwszeństwo przed helperem
Jeśli dana nazwa istnieje jednocześnie jako zmienna i jako helper, {{min}}
bez argumentu odczytuje zmienną, a {{min a b}} z argumentami wywołuje
helper. Podwyrażenie (min a b) zawsze wywołuje helper.
Ponadto szablony są kompilowane bez escapowania HTML : znak & czy <
w wartości przechodzi nietknięty, co jest zachowaniem oczekiwanym dla JSON-a
lub XML-a.
Helper Sygnatura Działanie eq{{eq a b}}a === bne{{ne a b}}a !== bneq{{neq a b}}Alias ne lt{{lt a b}}a < b (liczbowo)lte{{lte a b}}a <= bgt{{gt a b}}a > bgte{{gte a b}}a >= band{{#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 fallbackcompare{{#compare a "op" b}}…{{/compare}}Blok; op ∈ == === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
Helper Sygnatura Przykład → wynik lowercase{{lowercase s}}Bonjour → bonjouruppercase{{uppercase s}}Bonjour → BONJOURcapitalize{{capitalize s}}bonjour tout → Bonjour toutcapitalizeAll{{capitalizeAll s}}bonjour tout → Bonjour Touttitleize{{titleize s}}Identyczne z capitalizeAll camelcase{{camelcase s}}mon-champ → monChamppascalcase{{pascalcase s}}mon-champ → MonChampsnakecase{{snakecase s}}monChamp → mon_champsnakeCase{{snakeCase s}}Alias snakecase dashcase{{dashcase s}}monChamp → mon-champdotcase{{dotcase s}}monChamp → mon.champpathcase{{pathcase s}}monChamp → mon/champsentencecase{{sentencecase s}}BONJOUR TOUT → Bonjour toutslugify{{slugify s}}Mon Beau Titre ! → mon-beau-titretrim{{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 <…>
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
Helper Sygnatura Dział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}}}
Helper Sygnatura Dział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") ","}}
Helper Sygnatura Dział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 JavaScriptkeys{{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"}}
Helper Sygnatura Dział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 nullstripQuerystring{{stripQuerystring url}}Usuwa ciąg zapytania stripProtocol{{stripProtocol url}}Usuwa schemat
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
Helper Sygnatura Dział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
formatDate jest celowo minimalistyczny
Rozpoznawane są wyłącznie tokeny YYYY, MM, DD, HH, mm, ss, każdy
zastępowany tylko raz , w czasie lokalnym . Wzorzec domyślny:
YYYY-MM-DD. Nieprawidłowa data daje pusty ciąg znaków.
Do arytmetyki dat lub bogatszego formatowania służy akcja scenariusza
Data/godzina albo
akcja kodu — moment jest dostarczony.
Warto też zauważyć, że {{timestamp}} podaje wartość w milisekundach ,
natomiast {{$timestamp}} (zgodność z Postmanem, poniżej) — w sekundach .
Helper Sygnatura Dział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.
Bez argumentów, inna wartość przy każdym wyliczeniu .
Zmienna Zwraca {{$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}} "
Note
Wartości są losowane z krótkich, stałych list : to dane wypełniające, a nie
generator realistycznych danych. Nieznana zmienna {{$random…}} pozostaje
nierozwiązana i daje pusty ciąg znaków, bez błędu.
Aby losowanie było powtarzalne , należy użyć akcji scenariusza
Losowanie wraz z jej ziarnem.
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 .