Pular para o conteúdo

Referência dos helpers Handlebars

Toda expressão do Restorm é um modelo Handlebars: URL, cabeçalho, parâmetro, corpo do pedido, variável de ambiente do tipo Expression, campo de cenário, modelo da ação Transform template.

Esta página enumera 116 helpers nomeados e 22 variáveis dinâmicas.

Ctrl+Space desencadeia a conclusão automática nos campos que a aceitam.

HelperAssinaturaEfeito
eq{{eq a b}}a === b
ne{{ne a b}}a !== b
neq{{neq a b}}Sinónimo de ne
lt{{lt a b}}a < b (numérico)
lte{{lte a b}}a <= b
gt{{gt a b}}a > b
gte{{gte a b}}a >= b
and{{#and a b}}…{{else}}…{{/and}}Bloco: todos os argumentos verdadeiros
or{{#or a b}}…{{/or}}Bloco: pelo menos um argumento verdadeiro
not{{not value}}Negação
ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Bloco, igualdade estrita
is{{#is a b}}…{{/is}}Bloco, comparação como cadeias
isnt{{#isnt a b}}…{{/isnt}}Bloco, diferença como cadeias
default{{default value fallback}}value se estiver definido, senão fallback
compare{{#compare a "op" b}}…{{/compare}}Bloco; op== === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
HelperAssinaturaExemplo → resultado
lowercase{{lowercase s}}Bonjourbonjour
uppercase{{uppercase s}}BonjourBONJOUR
capitalize{{capitalize s}}bonjour toutBonjour tout
capitalizeAll{{capitalizeAll s}}bonjour toutBonjour Tout
titleize{{titleize s}}Idêntico a capitalizeAll
camelcase{{camelcase s}}mon-champmonChamp
pascalcase{{pascalcase s}}mon-champMonChamp
snakecase{{snakecase s}}monChampmon_champ
snakeCase{{snakeCase s}}Sinónimo de 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}}Retira os espaços das duas extremidades
trimLeft{{trimLeft s}}À esquerda
trimRight{{trimRight s}}À direita
replace{{replace s search replacement}}Substitui todas as ocorrências (literal, sem regex)
split{{split s separator}}Divide numa lista; separador , por predefinição
truncate{{truncate s length suffix}}Comprimento 50 e sufixo ... por predefinição
ellipsis{{ellipsis s length}}Como truncate, mas com
append{{append s suffix}}Concatena no fim
prepend{{prepend s prefix}}Concatena no início
reverse{{reverse value}}Inverte uma cadeia ou uma lista
startsWith{{#startsWith s prefix}}…{{/startsWith}}Bloco
endsWith{{#endsWith s suffix}}…{{/endsWith}}Bloco
contains{{#contains stringOrArray value}}…{{/contains}}Bloco
match{{match s pattern}}Todas as correspondências, ou null
test{{#test s pattern}}…{{/test}}Bloco, teste de expressão regular
padStart{{padStart s length character}}Completa à esquerda
padEnd{{padEnd s length character}}Completa à direita
repeat{{repeat s n}}Repete
substring{{substring s start end}}Extrai
indexOf{{indexOf s search}}Posição, ou -1
count{{count s substring}}Número de ocorrências
newLineToBr{{newLineToBr s}}\n<br>
stripTags{{stripTags s}}Retira as etiquetas <…>
{{slugify nomProduit}}
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
HelperAssinaturaEfeito
add{{add a b}}Soma
subtract{{subtract a b}}Diferença
multiply{{multiply a b}}Produto
divide{{divide a b}}Quociente
modulo{{modulo a b}}Resto
abs{{abs a}}Valor absoluto
ceil{{ceil a}}Arredondamento por excesso
floor{{floor a}}Arredondamento por defeito
round{{round a}}Arredondamento
pow{{pow base exponent}}Potência
sqrt{{sqrt a}}Raiz quadrada
random{{random min max}}Inteiro aleatório, limites incluídos
sum{{sum array}}Soma de uma lista
avg{{avg array}}Média
min{{min a b c …}}Mínimo, variádico
max{{max a b c …}}Máximo, variádico
toFixed{{toFixed number decimals}}Cadeia com N casas decimais
toInt{{toInt number}}Inteiro (base 10), 0 em caso de falha
toFloat{{toFloat number}}Vírgula flutuante, 0 em caso de falha
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
HelperAssinaturaEfeito
first{{first array n}}O primeiro elemento, ou os n primeiros
last{{last array n}}O último, ou os n últimos
length{{length value}}Comprimento de uma lista, de uma cadeia, ou número de chaves
join{{join array separator}}Separador , por predefinição
sort{{sort array}}Cópia ordenada
unique{{unique array}}Remove os duplicados
after{{after array n}}Tudo depois do índice n
before{{before array n}}Tudo antes do índice n
slice{{slice array start end}}Porção
concat{{concat a b …}}Concatena, achatando um nível
flatten{{flatten array}}Achata um nível
pluck{{pluck array property}}Extrai uma propriedade de cada elemento
itemAt{{itemAt array index}}Elemento naquele índice; um índice negativo conta a partir do fim
inArray{{#inArray array value}}…{{/inArray}}Bloco
isArray{{isArray value}}Booleano
isEmpty{{#isEmpty value}}…{{/isEmpty}}Bloco
some{{#some array prop value}}…{{/some}}Bloco: pelo menos um elemento corresponde
every{{#every array prop value}}…{{/every}}Bloco: todos os elementos correspondem
{{join (pluck articles "reference") ","}}
HelperAssinaturaEfeito
JSONstringify{{JSONstringify obj}}Serializa, com indentação 2
JSONparse{{JSONparse string}}Analisa; {} em caso de falha
get{{get obj "a.b.c"}}Leitura por caminho com pontos
isObject{{isObject value}}Booleano (não nulo, não lista)
typeOf{{typeOf value}}null, array, ou o tipo JavaScript
keys{{keys obj}}As chaves
values{{values obj}}Os valores
entries{{entries obj}}Os pares [key, value]
hasOwn{{#hasOwn obj "key"}}…{{/hasOwn}}Bloco
pick{{pick obj "k1" "k2"}}Mantém apenas essas chaves
omit{{omit obj "k1"}}Retira essas chaves
merge{{merge o1 o2}}Fusão superficial
{{get reponse "data.client.identifiant"}}
HelperAssinaturaEfeito
encodeURI{{encodeURI s}}Codifica um componente de URL
decodeURI{{decodeURI s}}Descodifica
urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash }, ou null
stripQuerystring{{stripQuerystring url}}Retira a cadeia de consulta
stripProtocol{{stripProtocol url}}Retira o esquema
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
HelperAssinaturaEfeito
year{{year}}O ano atual
now{{now}}O instante atual, em ISO
timestamp{{timestamp}}O instante atual, em milissegundos
formatDate{{formatDate date "YYYY-MM-DD"}}Formata

Note também que {{timestamp}} está em milissegundos, enquanto {{$timestamp}} (compatibilidade com o Postman, abaixo) está em segundos.

HelperAssinaturaEfeito
coalesce{{coalesce a b c}}O primeiro valor não nulo
uuid{{uuid}}Um UUID v4
noop{{#noop}}…{{/noop}}Bloco sem efeito
raw{{{{raw}}}}…{{{{/raw}}}}Não interpreta o conteúdo
times{{#times n}}…{{/times}}Repete o bloco; @index, @first, @last disponíveis
range{{range start end step}}Lista de números, fim excluído

O helper raw é o que precisa quando envia deliberadamente chaves duplas — por exemplo para testar um serviço que as interpreta ele mesmo.

Variáveis dinâmicas (compatibilidade com o Postman) (22)

Section titled “Variáveis dinâmicas (compatibilidade com o Postman) (22)”

Sem argumento, valor diferente em cada avaliação.

VariávelDevolve
{{$guid}}Um UUID v4
{{$randomUUID}}Um UUID v4
{{$timestamp}}O instante atual, em segundos
{{$isoTimestamp}}O instante atual, em ISO
{{$randomInt}}Um inteiro de 0 a 1000
{{$randomAlphaNumeric}}8 caracteres alfanuméricos
{{$randomBoolean}}true ou false
{{$randomFirstName}}Um nome próprio
{{$randomLastName}}Um apelido
{{$randomFullName}}Um nome completo
{{$randomUserName}}prenom.nom<0-99>
{{$randomEmail}}Um endereço de correio eletrónico
{{$randomColor}}Um nome de cor
{{$randomWord}}Uma palavra
{{$randomWords}}Três palavras
{{$randomCompanyName}}Um nome de empresa
{{$randomCity}}Uma cidade
{{$randomCountry}}Um país
{{$randomPhoneNumber}}Um número de telefone
{{$randomIP}}Um endereço IP
{{$randomIPV4}}Um endereço IPv4
{{$randomPrice}}Um preço com duas casas decimais
{
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
}

Não existe nenhum helper de acesso às variáveis: elas estão diretamente no contexto. Escreve-se {{baseUrl}}, não {{env "baseUrl"}}.

Consulte Variáveis e ambientes.