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.
Una variabile prevale su un helper
Se un nome esiste sia come variabile sia come helper, {{min}} senza
argomenti legge la variabile, mentre {{min a b}} con argomenti chiama
l’helper. Una sottoespressione (min a b) chiama sempre l’helper.
Inoltre, i template vengono compilati senza escape HTML : una & o
un < in un valore passa intatto, ed è ciò che si vuole per JSON o
XML.
Helper Firma Effetto eq{{eq a b}}a === bne{{ne a b}}a !== bneq{{neq a b}}Alias di ne lt{{lt a b}}a < b (numerico)lte{{lte a b}}a <= bgt{{gt a b}}a > bgte{{gte a b}}a >= band{{#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 fallbackcompare{{#compare a "op" b}}…{{/compare}}Blocco; op ∈ == === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
Helper Firma Esempio → risultato lowercase{{lowercase s}}Bonjour → bonjouruppercase{{uppercase s}}Bonjour → BONJOURcapitalize{{capitalize s}}bonjour tout → Bonjour toutcapitalizeAll{{capitalizeAll s}}bonjour tout → Bonjour Touttitleize{{titleize s}}Identico a capitalizeAll camelcase{{camelcase s}}mon-champ → monChamppascalcase{{pascalcase s}}mon-champ → MonChampsnakecase{{snakecase s}}monChamp → mon_champsnakeCase{{snakeCase s}}Alias di 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}}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 <…>
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
Helper Firma Effetto 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}}}
Helper Firma Effetto 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") ","}}
Helper Firma Effetto 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 JavaScriptkeys{{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"}}
Helper Firma Effetto 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 nullstripQuerystring{{stripQuerystring url}}Rimuove la stringa di query stripProtocol{{stripProtocol url}}Rimuove lo schema
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
Helper Firma Effetto 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
formatDate è volutamente minimale
Vengono riconosciuti soltanto i token YYYY, MM, DD, HH, mm, ss,
ciascuno sostituito una sola volta , in ora locale . Pattern predefinito:
YYYY-MM-DD. Una data non valida produce una stringa vuota.
Per l’aritmetica delle date o una formattazione più ricca conviene usare l’azione
di scenario Data-ora oppure un’
azione di codice — moment è fornito.
Si noti anche che {{timestamp}} è in millisecondi mentre
{{$timestamp}} (compatibilità Postman, qui sotto) è in secondi .
Helper Firma Effetto 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.
Senza argomenti, valore diverso a ogni valutazione .
Variabile Restituisce {{$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}} "
Note
I valori sono estratti da elenchi fissi e brevi : sono dati di
riempimento, non un generatore di dati realistici. Una variabile
{{$random…}} sconosciuta resta non risolta e produce una stringa vuota, senza
errore.
Per un’estrazione riproducibile conviene usare l’azione di scenario
Casuale con il suo seme.
Non esiste un helper di accesso alle variabili: sono direttamente
nel contesto. Si scrive {{baseUrl}}, non {{env "baseUrl"}}.
Si veda Variabili e ambienti .