Salta ai contenuti

Riferimento degli helper Handlebars

Ogni espressione di Restorm è un template Handlebars: URL, header, parametro, corpo di richiesta, variabile d’ambiente di tipo Espressione, campo di scenario, template dell’azione Transform template.

Questa pagina elenca 116 helper denominati e 22 variabili dinamiche.

Ctrl+Space attiva il completamento automatico nei campi che lo accettano.

HelperFirmaEffetto
eq{{eq a b}}a === b
ne{{ne a b}}a !== b
neq{{neq a b}}Alias di ne
lt{{lt a b}}a < b (numerico)
lte{{lte a b}}a <= b
gt{{gt a b}}a > b
gte{{gte a b}}a >= b
and{{#and a b}}…{{else}}…{{/and}}Blocco: tutti gli argomenti veri
or{{#or a b}}…{{/or}}Blocco: almeno un argomento vero
not{{not value}}Negazione
ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Blocco, uguaglianza stretta
is{{#is a b}}…{{/is}}Blocco, confronto come stringhe
isnt{{#isnt a b}}…{{/isnt}}Blocco, differenza come stringhe
default{{default value fallback}}value se definito, altrimenti fallback
compare{{#compare a "op" b}}…{{/compare}}Blocco; op== === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
HelperFirmaEsempio → risultato
lowercase{{lowercase s}}Bonjourbonjour
uppercase{{uppercase s}}BonjourBONJOUR
capitalize{{capitalize s}}bonjour toutBonjour tout
capitalizeAll{{capitalizeAll s}}bonjour toutBonjour Tout
titleize{{titleize s}}Identico a capitalizeAll
camelcase{{camelcase s}}mon-champmonChamp
pascalcase{{pascalcase s}}mon-champMonChamp
snakecase{{snakecase s}}monChampmon_champ
snakeCase{{snakeCase s}}Alias di 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}}Rimuove gli spazi a entrambe le estremità
trimLeft{{trimLeft s}}A sinistra
trimRight{{trimRight s}}A destra
replace{{replace s search replacement}}Sostituisce tutte le occorrenze (letterale, senza regex)
split{{split s separator}}Suddivide in un array; separatore , per impostazione predefinita
truncate{{truncate s length suffix}}Lunghezza 50 e suffisso ... per impostazione predefinita
ellipsis{{ellipsis s length}}Come truncate ma con
append{{append s suffix}}Concatena alla fine
prepend{{prepend s prefix}}Concatena all’inizio
reverse{{reverse value}}Inverte una stringa oppure un array
startsWith{{#startsWith s prefix}}…{{/startsWith}}Blocco
endsWith{{#endsWith s suffix}}…{{/endsWith}}Blocco
contains{{#contains sOrArray value}}…{{/contains}}Blocco
match{{match s pattern}}Tutte le corrispondenze, oppure null
test{{#test s pattern}}…{{/test}}Blocco, test di espressione regolare
padStart{{padStart s length char}}Completa a sinistra
padEnd{{padEnd s length char}}Completa a destra
repeat{{repeat s n}}Ripete
substring{{substring s start end}}Estrae
indexOf{{indexOf s search}}Posizione, oppure -1
count{{count s substring}}Numero di occorrenze
newLineToBr{{newLineToBr s}}\n<br>
stripTags{{stripTags s}}Rimuove i tag <…>
{{slugify nomProduit}}
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
HelperFirmaEffetto
add{{add a b}}Somma
subtract{{subtract a b}}Differenza
multiply{{multiply a b}}Prodotto
divide{{divide a b}}Quoziente
modulo{{modulo a b}}Resto
abs{{abs a}}Valore assoluto
ceil{{ceil a}}Arrotondamento per eccesso
floor{{floor a}}Arrotondamento per difetto
round{{round a}}Arrotondamento
pow{{pow base exponent}}Potenza
sqrt{{sqrt a}}Radice quadrata
random{{random min max}}Intero casuale, estremi inclusi
sum{{sum array}}Somma di un array
avg{{avg array}}Media
min{{min a b c …}}Minimo, variadico
max{{max a b c …}}Massimo, variadico
toFixed{{toFixed number decimals}}Stringa con N decimali
toInt{{toInt number}}Intero (base 10), 0 come fallback
toFloat{{toFloat number}}Numero a virgola mobile, 0 come fallback
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
HelperFirmaEffetto
first{{first array n}}Il primo elemento, oppure i primi n
last{{last array n}}L’ultimo, oppure gli ultimi n
length{{length value}}Lunghezza di un array, di una stringa, oppure numero di chiavi
join{{join array separator}}Separatore , per impostazione predefinita
sort{{sort array}}Copia ordinata
unique{{unique array}}Deduplica
after{{after array n}}Tutto ciò che segue l’indice n
before{{before array n}}Tutto ciò che precede l’indice n
slice{{slice array start end}}Porzione
concat{{concat a b …}}Concatena, appiattisce di un livello
flatten{{flatten array}}Appiattisce di un livello
pluck{{pluck array property}}Estrae una proprietà da ciascun elemento
itemAt{{itemAt array index}}Elemento all’indice; un indice negativo conta dalla fine
inArray{{#inArray array value}}…{{/inArray}}Blocco
isArray{{isArray value}}Booleano
isEmpty{{#isEmpty value}}…{{/isEmpty}}Blocco
some{{#some array prop value}}…{{/some}}Blocco: almeno un elemento corrisponde
every{{#every array prop value}}…{{/every}}Blocco: tutti gli elementi corrispondono
{{join (pluck articles "reference") ","}}
HelperFirmaEffetto
JSONstringify{{JSONstringify obj}}Serializza, indentazione 2
JSONparse{{JSONparse string}}Analizza; {} in caso di errore
get{{get obj "a.b.c"}}Lettura tramite percorso puntato
isObject{{isObject value}}Booleano (non nullo, non array)
typeOf{{typeOf value}}null, array, oppure il tipo JavaScript
keys{{keys obj}}Le chiavi
values{{values obj}}I valori
entries{{entries obj}}Le coppie [chiave, valore]
hasOwn{{#hasOwn obj "key"}}…{{/hasOwn}}Blocco
pick{{pick obj "k1" "k2"}}Conserva soltanto queste chiavi
omit{{omit obj "k1"}}Rimuove queste chiavi
merge{{merge o1 o2}}Fusione superficiale
{{get reponse "data.client.identifiant"}}
HelperFirmaEffetto
encodeURI{{encodeURI s}}Codifica un componente di URL
decodeURI{{decodeURI s}}Decodifica
urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash }, oppure null
stripQuerystring{{stripQuerystring url}}Rimuove la stringa di query
stripProtocol{{stripProtocol url}}Rimuove lo schema
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
HelperFirmaEffetto
year{{year}}L’anno corrente
now{{now}}L’istante corrente, in ISO
timestamp{{timestamp}}L’istante corrente, in millisecondi
formatDate{{formatDate date "YYYY-MM-DD"}}Formatta

Si noti anche che {{timestamp}} è in millisecondi mentre {{$timestamp}} (compatibilità Postman, qui sotto) è in secondi.

HelperFirmaEffetto
coalesce{{coalesce a b c}}Il primo valore non nullo
uuid{{uuid}}Un UUID v4
noop{{#noop}}…{{/noop}}Blocco senza effetto
raw{{{{raw}}}}…{{{{/raw}}}}Non interpreta il contenuto
times{{#times n}}…{{/times}}Ripete il blocco; @index, @first, @last disponibili
range{{range start end step}}Array di numeri, fine esclusa

L’helper raw è ciò che serve quando si inviano volutamente parentesi graffe doppie — per esempio per verificare un servizio che le interpreta esso stesso.

Variabili dinamiche (compatibilità Postman) (22)

Section titled “Variabili dinamiche (compatibilità Postman) (22)”

Senza argomenti, valore diverso a ogni valutazione.

VariabileRestituisce
{{$guid}}Un UUID v4
{{$randomUUID}}Un UUID v4
{{$timestamp}}L’istante corrente, in secondi
{{$isoTimestamp}}L’istante corrente, in ISO
{{$randomInt}}Un intero da 0 a 1000
{{$randomAlphaNumeric}}8 caratteri alfanumerici
{{$randomBoolean}}true oppure false
{{$randomFirstName}}Un nome di battesimo
{{$randomLastName}}Un cognome
{{$randomFullName}}Un nome completo
{{$randomUserName}}prenom.nom<0-99>
{{$randomEmail}}Un indirizzo di posta elettronica
{{$randomColor}}Un nome di colore
{{$randomWord}}Una parola
{{$randomWords}}Tre parole
{{$randomCompanyName}}Un nome di azienda
{{$randomCity}}Una città
{{$randomCountry}}Un paese
{{$randomPhoneNumber}}Un numero di telefono
{{$randomIP}}Un indirizzo IP
{{$randomIPV4}}Un indirizzo IPv4
{{$randomPrice}}Un prezzo con due decimali
{
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
}

Non esiste un helper di accesso alle variabili: sono direttamente nel contesto. Si scrive {{baseUrl}}, non {{env "baseUrl"}}.

Si veda Variabili e ambienti.