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.
Uma variável tem prioridade sobre um helper
Se um nome existir ao mesmo tempo como variável e como helper, {{min}} sem
argumento lê a variável, e {{min a b}} com argumentos invoca o helper.
Uma subexpressão (min a b) invoca sempre o helper.
Além disso, os modelos são compilados sem escape HTML : um & ou um < num
valor passa intacto, o que é o comportamento esperado para JSON ou XML.
Helper Assinatura Efeito eq{{eq a b}}a === bne{{ne a b}}a !== bneq{{neq a b}}Sinónimo de ne lt{{lt a b}}a < b (numérico)lte{{lte a b}}a <= bgt{{gt a b}}a > bgte{{gte a b}}a >= band{{#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 fallbackcompare{{#compare a "op" b}}…{{/compare}}Bloco; op ∈ == === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
Helper Assinatura Exemplo → resultado lowercase{{lowercase s}}Bonjour → bonjouruppercase{{uppercase s}}Bonjour → BONJOURcapitalize{{capitalize s}}bonjour tout → Bonjour toutcapitalizeAll{{capitalizeAll s}}bonjour tout → Bonjour Touttitleize{{titleize s}}Idêntico a capitalizeAll camelcase{{camelcase s}}mon-champ → monChamppascalcase{{pascalcase s}}mon-champ → MonChampsnakecase{{snakecase s}}monChamp → mon_champsnakeCase{{snakeCase s}}Sinónimo 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}}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 <…>
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
Helper Assinatura Efeito 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}}}
Helper Assinatura Efeito 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") ","}}
Helper Assinatura Efeito 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 JavaScriptkeys{{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"}}
Helper Assinatura Efeito 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 nullstripQuerystring{{stripQuerystring url}}Retira a cadeia de consulta stripProtocol{{stripProtocol url}}Retira o esquema
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
Helper Assinatura Efeito 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
formatDate é deliberadamente minimalista
Apenas os marcadores YYYY, MM, DD, HH, mm, ss são reconhecidos,
cada um substituído uma única vez , em hora local . Padrão por
predefinição: YYYY-MM-DD. Uma data inválida devolve uma cadeia vazia.
Para aritmética de datas ou uma formatação mais rica, utilize a ação de cenário
Data-hora ou uma
ação de código — o moment está disponível.
Note também que {{timestamp}} está em milissegundos , enquanto
{{$timestamp}} (compatibilidade com o Postman, abaixo) está em segundos .
Helper Assinatura Efeito 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.
Sem argumento, valor diferente em cada avaliação .
Variável Devolve {{$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}} "
Note
Os valores são retirados de listas fixas e curtas : são dados de
preenchimento, não um gerador de dados realistas. Uma variável {{$random…}}
desconhecida fica não resolvida e devolve uma cadeia vazia, sem erro.
Para um sorteio reproduzível , utilize a ação de cenário
Aleatório com a respetiva semente.
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 .