Toute expression de Restorm est un gabarit Handlebars : URL, en-tête,
paramètre, corps de requête, variable d’environnement de type Expression ,
champ de scénario, gabarit de l’action Transform template .
Cette page recense 116 helpers nommés et 22 variables dynamiques .
Ctrl+Espace déclenche l’autocomplétion dans les champs qui l’acceptent.
Une variable l’emporte sur un helper
Si un nom existe à la fois comme variable et comme helper, {{min}} sans
argument lit la variable, et {{min a b}} avec arguments appelle le
helper. Une sous-expression (min a b) appelle toujours le helper.
Par ailleurs, les gabarits sont compilés sans échappement HTML : un & ou
un < dans une valeur passe intact, ce qui est ce qu’on veut pour du JSON ou
du XML.
Helper Signature Effet eq{{eq a b}}a === bne{{ne a b}}a !== bneq{{neq a b}}Alias de ne lt{{lt a b}}a < b (numérique)lte{{lte a b}}a <= bgt{{gt a b}}a > bgte{{gte a b}}a >= band{{#and a b}}…{{else}}…{{/and}}Bloc : tous les arguments vrais or{{#or a b}}…{{/or}}Bloc : au moins un argument vrai not{{not valeur}}Négation ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Bloc, égalité stricte is{{#is a b}}…{{/is}}Bloc, comparaison en chaînes isnt{{#isnt a b}}…{{/isnt}}Bloc, différence en chaînes default{{default valeur repli}}valeur si définie, sinon replicompare{{#compare a "op" b}}…{{/compare}}Bloc ; op ∈ == === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
Helper Signature Exemple → résultat lowercase{{lowercase s}}Bonjour → bonjouruppercase{{uppercase s}}Bonjour → BONJOURcapitalize{{capitalize s}}bonjour tout → Bonjour toutcapitalizeAll{{capitalizeAll s}}bonjour tout → Bonjour Touttitleize{{titleize s}}Identique à capitalizeAll camelcase{{camelcase s}}mon-champ → monChamppascalcase{{pascalcase s}}mon-champ → MonChampsnakecase{{snakecase s}}monChamp → mon_champsnakeCase{{snakeCase s}}Alias de 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}}Retire les espaces aux deux bouts trimLeft{{trimLeft s}}À gauche trimRight{{trimRight s}}À droite replace{{replace s recherche remplacement}}Remplace toutes les occurrences (littéral, pas de regex) split{{split s separateur}}Découpe en tableau ; séparateur , par défaut truncate{{truncate s longueur suffixe}}Longueur 50 et suffixe ... par défaut ellipsis{{ellipsis s longueur}}Comme truncate avec … append{{append s suffixe}}Concatène à la fin prepend{{prepend s prefixe}}Concatène au début reverse{{reverse valeur}}Inverse une chaîne ou un tableau startsWith{{#startsWith s prefixe}}…{{/startsWith}}Bloc endsWith{{#endsWith s suffixe}}…{{/endsWith}}Bloc contains{{#contains sOuTableau valeur}}…{{/contains}}Bloc match{{match s motif}}Toutes les correspondances, ou null test{{#test s motif}}…{{/test}}Bloc, test d’expression régulière padStart{{padStart s longueur caractere}}Complète à gauche padEnd{{padEnd s longueur caractere}}Complète à droite repeat{{repeat s n}}Répète substring{{substring s debut fin}}Extrait indexOf{{indexOf s recherche}}Position, ou -1 count{{count s sousChaine}}Nombre d’occurrences newLineToBr{{newLineToBr s}}\n → <br>stripTags{{stripTags s}}Retire les balises <…>
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
Helper Signature Effet add{{add a b}}Somme subtract{{subtract a b}}Différence multiply{{multiply a b}}Produit divide{{divide a b}}Quotient modulo{{modulo a b}}Reste abs{{abs a}}Valeur absolue ceil{{ceil a}}Arrondi supérieur floor{{floor a}}Arrondi inférieur round{{round a}}Arrondi pow{{pow base exposant}}Puissance sqrt{{sqrt a}}Racine carrée random{{random min max}}Entier aléatoire, bornes incluses sum{{sum tableau}}Somme d’un tableau avg{{avg tableau}}Moyenne min{{min a b c …}}Minimum, variadique max{{max a b c …}}Maximum, variadique toFixed{{toFixed nombre decimales}}Chaîne à N décimales toInt{{toInt nombre}}Entier (base 10), 0 en repli toFloat{{toFloat nombre}}Flottant, 0 en repli
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
Helper Signature Effet first{{first tableau n}}Le premier élément, ou les n premiers last{{last tableau n}}Le dernier, ou les n derniers length{{length valeur}}Longueur d’un tableau, d’une chaîne, ou nombre de clés join{{join tableau separateur}}Séparateur , par défaut sort{{sort tableau}}Copie triée unique{{unique tableau}}Dédoublonne after{{after tableau n}}Tout après l’index n before{{before tableau n}}Tout avant l’index n slice{{slice tableau debut fin}}Portion concat{{concat a b …}}Concatène, aplatit d’un niveau flatten{{flatten tableau}}Aplatit d’un niveau pluck{{pluck tableau propriete}}Extrait une propriété de chaque élément itemAt{{itemAt tableau index}}Élément à l’index ; un index négatif compte depuis la fin inArray{{#inArray tableau valeur}}…{{/inArray}}Bloc isArray{{isArray valeur}}Booléen isEmpty{{#isEmpty valeur}}…{{/isEmpty}}Bloc some{{#some tableau prop valeur}}…{{/some}}Bloc : au moins un élément correspond every{{#every tableau prop valeur}}…{{/every}}Bloc : tous les éléments correspondent
{{join (pluck articles "reference") ","}}
Helper Signature Effet JSONstringify{{JSONstringify obj}}Sérialise, indentation 2 JSONparse{{JSONparse chaine}}Analyse ; {} en cas d’échec get{{get obj "a.b.c"}}Lecture par chemin pointé isObject{{isObject valeur}}Booléen (non nul, non tableau) typeOf{{typeOf valeur}}null, array, ou le type JavaScriptkeys{{keys obj}}Les clés values{{values obj}}Les valeurs entries{{entries obj}}Les couples [clé, valeur] hasOwn{{#hasOwn obj "cle"}}…{{/hasOwn}}Bloc pick{{pick obj "k1" "k2"}}Ne garde que ces clés omit{{omit obj "k1"}}Retire ces clés merge{{merge o1 o2}}Fusion superficielle
{{get reponse "data.client.identifiant"}}
Helper Signature Effet encodeURI{{encodeURI s}}Encode un composant d’URL decodeURI{{decodeURI s}}Décode urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash }, ou nullstripQuerystring{{stripQuerystring url}}Retire la chaîne de requête stripProtocol{{stripProtocol url}}Retire le schéma
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
Helper Signature Effet year{{year}}L’année courante now{{now}}L’instant courant, en ISO timestamp{{timestamp}}L’instant courant, en millisecondes formatDate{{formatDate date "YYYY-MM-DD"}}Formate
formatDate est volontairement minimal
Seuls les jetons YYYY, MM, DD, HH, mm, ss sont reconnus, chacun
remplacé une seule fois , en heure locale . Motif par défaut :
YYYY-MM-DD. Une date invalide rend une chaîne vide.
Pour de l’arithmétique de dates ou un formatage plus riche, utilisez l’action
de scénario Date-heure ou une
action de code — moment est fourni.
Notez aussi que {{timestamp}} est en millisecondes tandis que
{{$timestamp}} (compatibilité Postman, ci-dessous) est en secondes .
Helper Signature Effet coalesce{{coalesce a b c}}La première valeur non nulle uuid{{uuid}}Un UUID v4 noop{{#noop}}…{{/noop}}Bloc sans effet raw{{{{raw}}}}…{{{{/raw}}}}N’interprète pas le contenu times{{#times n}}…{{/times}}Répète le bloc ; @index, @first, @last disponibles range{{range debut fin pas}}Tableau de nombres, fin exclue
Le helper raw est ce qu’il faut quand vous envoyez volontairement des
accolades doubles — par exemple pour tester un service qui les interprète
lui-même.
Sans argument, valeur différente à chaque évaluation .
Variable Renvoie {{$guid}}Un UUID v4 {{$randomUUID}}Un UUID v4 {{$timestamp}}L’instant courant, en secondes {{$isoTimestamp}}L’instant courant, en ISO {{$randomInt}}Un entier de 0 à 1000 {{$randomAlphaNumeric}}8 caractères alphanumériques {{$randomBoolean}}true ou false{{$randomFirstName}}Un prénom {{$randomLastName}}Un nom {{$randomFullName}}Un nom complet {{$randomUserName}}prenom.nom<0-99>{{$randomEmail}}Une adresse de courriel {{$randomColor}}Un nom de couleur {{$randomWord}}Un mot {{$randomWords}}Trois mots {{$randomCompanyName}}Un nom d’entreprise {{$randomCity}}Une ville {{$randomCountry}}Un pays {{$randomPhoneNumber}}Un numéro de téléphone {{$randomIP}}Une adresse IP {{$randomIPV4}}Une adresse IPv4 {{$randomPrice}}Un prix à deux décimales
"correlationId" : " {{$guid}} " ,
"client" : { "nom" : " {{$randomFullName}} " , "email" : " {{$randomEmail}} " },
"emisLe" : " {{$isoTimestamp}} "
Note
Les valeurs sont tirées de listes fixes et courtes : ce sont des données de
remplissage, pas un générateur de données réalistes. Une variable
{{$random…}} inconnue reste non résolue et rend une chaîne vide, sans
erreur.
Pour un tirage reproductible , utilisez l’action de scénario
Aléatoire avec sa graine.
Il n’existe pas de helper d’accès aux variables : elles sont directement
dans le contexte. On écrit {{baseUrl}}, pas {{env "baseUrl"}}.
Voir Variables et environnements .