Gå til indhold

Handlebars-helpers

Alle udtryk i Restorm er en Handlebars-skabelon: URL, header, parameter, anmodnings-body, miljøvariabel af typen Expression, scenariefelt og skabelonen i handlingen Transform template.

Denne side opregner 116 navngivne helpers og 22 dynamiske variabler.

Ctrl+Space udløser autofuldførelse i de felter, der understøtter det.

HelperSignaturVirkning
eq{{eq a b}}a === b
ne{{ne a b}}a !== b
neq{{neq a b}}Alias for ne
lt{{lt a b}}a < b (numerisk)
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: alle argumenter er sande
or{{#or a b}}…{{/or}}Blok: mindst ét argument er sandt
not{{not value}}Negering
ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Blok, striks lighed
is{{#is a b}}…{{/is}}Blok, sammenligning som strenge
isnt{{#isnt a b}}…{{/isnt}}Blok, forskel som strenge
default{{default value fallback}}value, hvis den er defineret, ellers fallback
compare{{#compare a "op" b}}…{{/compare}}Blok; op== === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
HelperSignaturEksempel → resultat
lowercase{{lowercase s}}Bonjourbonjour
uppercase{{uppercase s}}BonjourBONJOUR
capitalize{{capitalize s}}bonjour toutBonjour tout
capitalizeAll{{capitalizeAll s}}bonjour toutBonjour Tout
titleize{{titleize s}}Identisk med capitalizeAll
camelcase{{camelcase s}}mon-champmonChamp
pascalcase{{pascalcase s}}mon-champMonChamp
snakecase{{snakecase s}}monChampmon_champ
snakeCase{{snakeCase s}}Alias for 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}}Fjerner mellemrum i begge ender
trimLeft{{trimLeft s}}I venstre ende
trimRight{{trimRight s}}I højre ende
replace{{replace s search replacement}}Erstatter alle forekomster (bogstaveligt, ingen regex)
split{{split s separator}}Deler op i et array; separator , som standard
truncate{{truncate s length suffix}}Længde 50 og suffiks ... som standard
ellipsis{{ellipsis s length}}Som truncate, men med
append{{append s suffix}}Sætter sammen til sidst
prepend{{prepend s prefix}}Sætter sammen forrest
reverse{{reverse value}}Vender en streng eller et array om
startsWith{{#startsWith s prefix}}…{{/startsWith}}Blok
endsWith{{#endsWith s suffix}}…{{/endsWith}}Blok
contains{{#contains stringOrArray value}}…{{/contains}}Blok
match{{match s pattern}}Alle match, eller null
test{{#test s pattern}}…{{/test}}Blok, test med et regulært udtryk
padStart{{padStart s length character}}Udfylder til venstre
padEnd{{padEnd s length character}}Udfylder til højre
repeat{{repeat s n}}Gentager
substring{{substring s start end}}Udtrækker
indexOf{{indexOf s search}}Position, eller -1
count{{count s substring}}Antal forekomster
newLineToBr{{newLineToBr s}}\n<br>
stripTags{{stripTags s}}Fjerner <…>-tags
{{slugify nomProduit}}
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
HelperSignaturVirkning
add{{add a b}}Sum
subtract{{subtract a b}}Differens
multiply{{multiply a b}}Produkt
divide{{divide a b}}Kvotient
modulo{{modulo a b}}Rest
abs{{abs a}}Absolut værdi
ceil{{ceil a}}Rundet op
floor{{floor a}}Rundet ned
round{{round a}}Rundet
pow{{pow base exponent}}Potens
sqrt{{sqrt a}}Kvadratrod
random{{random min max}}Tilfældigt heltal, grænserne inklusive
sum{{sum array}}Summen af et array
avg{{avg array}}Gennemsnit
min{{min a b c …}}Minimum, variadisk
max{{max a b c …}}Maksimum, variadisk
toFixed{{toFixed number decimals}}En streng med N decimaler
toInt{{toInt number}}Heltal (base 10), 0 som fallback
toFloat{{toFloat number}}Flydende tal, 0 som fallback
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
HelperSignaturVirkning
first{{first array n}}Det første element, eller de første n
last{{last array n}}Det sidste, eller de sidste n
length{{length value}}Længden af et array eller en streng, eller antallet af nøgler
join{{join array separator}}Separator , som standard
sort{{sort array}}En sorteret kopi
unique{{unique array}}Fjerner dubletter
after{{after array n}}Alt efter indeks n
before{{before array n}}Alt før indeks n
slice{{slice array start end}}Et udsnit
concat{{concat a b …}}Sætter sammen og flader ét niveau ud
flatten{{flatten array}}Flader ét niveau ud
pluck{{pluck array property}}Udtrækker én egenskab fra hvert element
itemAt{{itemAt array index}}Elementet på det indeks; et negativt indeks tæller fra enden
inArray{{#inArray array value}}…{{/inArray}}Blok
isArray{{isArray value}}Boolesk
isEmpty{{#isEmpty value}}…{{/isEmpty}}Blok
some{{#some array prop value}}…{{/some}}Blok: mindst ét element matcher
every{{#every array prop value}}…{{/every}}Blok: alle elementer matcher
{{join (pluck articles "reference") ","}}
HelperSignaturVirkning
JSONstringify{{JSONstringify obj}}Serialiserer, indrykning 2
JSONparse{{JSONparse string}}Parser; {} hvis det mislykkes
get{{get obj "a.b.c"}}Læsning via en punkteret sti
isObject{{isObject value}}Boolesk (ikke null, ikke array)
typeOf{{typeOf value}}null, array, eller JavaScript-typen
keys{{keys obj}}Nøglerne
values{{values obj}}Værdierne
entries{{entries obj}}Parrene [key, value]
hasOwn{{#hasOwn obj "key"}}…{{/hasOwn}}Blok
pick{{pick obj "k1" "k2"}}Beholder kun de nøgler
omit{{omit obj "k1"}}Fjerner de nøgler
merge{{merge o1 o2}}Overfladisk sammenfletning
{{get reponse "data.client.identifiant"}}
HelperSignaturVirkning
encodeURI{{encodeURI s}}Koder én komponent af en URL
decodeURI{{decodeURI s}}Afkoder
urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash }, eller null
stripQuerystring{{stripQuerystring url}}Fjerner query-strengen
stripProtocol{{stripProtocol url}}Fjerner skemaet
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
HelperSignaturVirkning
year{{year}}Det aktuelle år
now{{now}}Det aktuelle tidspunkt, i ISO
timestamp{{timestamp}}Det aktuelle tidspunkt, i millisekunder
formatDate{{formatDate date "YYYY-MM-DD"}}Formaterer

Bemærk også, at {{timestamp}} er i millisekunder, mens {{$timestamp}} (Postman-kompatibilitet, se nedenfor) er i sekunder.

HelperSignaturVirkning
coalesce{{coalesce a b c}}Den første værdi, der ikke er null
uuid{{uuid}}En UUID v4
noop{{#noop}}…{{/noop}}En blok uden virkning
raw{{{{raw}}}}…{{{{/raw}}}}Fortolker ikke indholdet
times{{#times n}}…{{/times}}Gentager blokken; @index, @first, @last er til rådighed
range{{range start end step}}Et array af tal, slutværdien ikke medregnet

Helperen raw er lige det, du skal bruge, når du med vilje sender dobbelte tuborgklammer — for eksempel for at teste en tjeneste, der selv fortolker dem.

Dynamiske variabler (Postman-kompatibilitet) (22)

Section titled “Dynamiske variabler (Postman-kompatibilitet) (22)”

Uden argument, og med en ny værdi ved hver evaluering.

VariabelGiver
{{$guid}}En UUID v4
{{$randomUUID}}En UUID v4
{{$timestamp}}Det aktuelle tidspunkt, i sekunder
{{$isoTimestamp}}Det aktuelle tidspunkt, i ISO
{{$randomInt}}Et heltal fra 0 til 1000
{{$randomAlphaNumeric}}8 alfanumeriske tegn
{{$randomBoolean}}true eller false
{{$randomFirstName}}Et fornavn
{{$randomLastName}}Et efternavn
{{$randomFullName}}Et fuldt navn
{{$randomUserName}}firstname.lastname<0-99>
{{$randomEmail}}En e-mailadresse
{{$randomColor}}Et farvenavn
{{$randomWord}}Et ord
{{$randomWords}}Tre ord
{{$randomCompanyName}}Et firmanavn
{{$randomCity}}En by
{{$randomCountry}}Et land
{{$randomPhoneNumber}}Et telefonnummer
{{$randomIP}}En IP-adresse
{{$randomIPV4}}En IPv4-adresse
{{$randomPrice}}En pris med to decimaler
{
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
}

Der findes ingen helper til at læse variabler: de ligger direkte i konteksten. Man skriver {{baseUrl}}, ikke {{env "baseUrl"}}.

Se Variabler og miljøer.