Ir al contenido

Referencia de los helpers Handlebars

Toda expresión de Restorm es una plantilla Handlebars: URL, cabecera, parámetro, cuerpo de petición, variable de entorno de tipo Expresión, campo de escenario, plantilla de la acción Transform template.

Esta página recoge 116 helpers con nombre y 22 variables dinámicas.

Ctrl+Space activa el autocompletado en los campos que lo aceptan.

HelperFirmaEfecto
eq{{eq a b}}a === b
ne{{ne a b}}a !== b
neq{{neq a b}}Alias 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}}Bloque: todos los argumentos verdaderos
or{{#or a b}}…{{/or}}Bloque: al menos un argumento verdadero
not{{not value}}Negación
ifEquals{{#ifEquals a b}}…{{else}}…{{/ifEquals}}Bloque, igualdad estricta
is{{#is a b}}…{{/is}}Bloque, comparación como cadenas
isnt{{#isnt a b}}…{{/isnt}}Bloque, diferencia como cadenas
default{{default value fallback}}value si está definida, si no fallback
compare{{#compare a "op" b}}…{{/compare}}Bloque; op== === != !== < <= > >=
{{default region "eu-west-1"}}
{{#compare quantite ">" 100}}gros{{else}}normal{{/compare}}
HelperFirmaEjemplo → 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}}Alias 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}}Quita los espacios de los dos extremos
trimLeft{{trimLeft s}}A la izquierda
trimRight{{trimRight s}}A la derecha
replace{{replace s search replacement}}Sustituye todas las apariciones (literal, sin regex)
split{{split s separator}}Divide en un arreglo; separador , por defecto
truncate{{truncate s length suffix}}Longitud 50 y sufijo ... por defecto
ellipsis{{ellipsis s length}}Como truncate pero con
append{{append s suffix}}Concatena al final
prepend{{prepend s prefix}}Concatena al principio
reverse{{reverse value}}Invierte una cadena o un arreglo
startsWith{{#startsWith s prefix}}…{{/startsWith}}Bloque
endsWith{{#endsWith s suffix}}…{{/endsWith}}Bloque
contains{{#contains sOrArray value}}…{{/contains}}Bloque
match{{match s pattern}}Todas las coincidencias, o null
test{{#test s pattern}}…{{/test}}Bloque, prueba de expresión regular
padStart{{padStart s length char}}Completa por la izquierda
padEnd{{padEnd s length char}}Completa por la derecha
repeat{{repeat s n}}Repite
substring{{substring s start end}}Extrae
indexOf{{indexOf s search}}Posición, o -1
count{{count s substring}}Número de apariciones
newLineToBr{{newLineToBr s}}\n<br>
stripTags{{stripTags s}}Quita las etiquetas <…>
{{slugify nomProduit}}
{{padStart numeroCommande 8 "0"}}
{{truncate description 120}}
HelperFirmaEfecto
add{{add a b}}Suma
subtract{{subtract a b}}Diferencia
multiply{{multiply a b}}Producto
divide{{divide a b}}Cociente
modulo{{modulo a b}}Resto
abs{{abs a}}Valor absoluto
ceil{{ceil a}}Redondeo hacia arriba
floor{{floor a}}Redondeo hacia abajo
round{{round a}}Redondeo
pow{{pow base exponent}}Potencia
sqrt{{sqrt a}}Raíz cuadrada
random{{random min max}}Entero aleatorio, límites incluidos
sum{{sum array}}Suma de un arreglo
avg{{avg array}}Media
min{{min a b c …}}Mínimo, variádico
max{{max a b c …}}Máximo, variádico
toFixed{{toFixed number decimals}}Cadena con N decimales
toInt{{toInt number}}Entero (base 10), 0 como reserva
toFloat{{toFloat number}}Coma flotante, 0 como reserva
{"montantTTC": {{toFixed (multiply montantHT 1.2) 2}}}
HelperFirmaEfecto
first{{first array n}}El primer elemento, o los n primeros
last{{last array n}}El último, o los n últimos
length{{length value}}Longitud de un arreglo, de una cadena, o número de claves
join{{join array separator}}Separador , por defecto
sort{{sort array}}Copia ordenada
unique{{unique array}}Elimina duplicados
after{{after array n}}Todo lo que va después del índice n
before{{before array n}}Todo lo que va antes del índice n
slice{{slice array start end}}Porción
concat{{concat a b …}}Concatena, aplanando un nivel
flatten{{flatten array}}Aplana un nivel
pluck{{pluck array property}}Extrae una propiedad de cada elemento
itemAt{{itemAt array index}}Elemento en el índice; un índice negativo cuenta desde el final
inArray{{#inArray array value}}…{{/inArray}}Bloque
isArray{{isArray value}}Booleano
isEmpty{{#isEmpty value}}…{{/isEmpty}}Bloque
some{{#some array prop value}}…{{/some}}Bloque: al menos un elemento coincide
every{{#every array prop value}}…{{/every}}Bloque: todos los elementos coinciden
{{join (pluck articles "reference") ","}}
HelperFirmaEfecto
JSONstringify{{JSONstringify obj}}Serializa, con indentación 2
JSONparse{{JSONparse string}}Analiza; {} en caso de error
get{{get obj "a.b.c"}}Lectura por ruta con puntos
isObject{{isObject value}}Booleano (no nulo, no arreglo)
typeOf{{typeOf value}}null, array, o el tipo de JavaScript
keys{{keys obj}}Las claves
values{{values obj}}Los valores
entries{{entries obj}}Los pares [clé, value]
hasOwn{{#hasOwn obj "key"}}…{{/hasOwn}}Bloque
pick{{pick obj "k1" "k2"}}Solo conserva esas claves
omit{{omit obj "k1"}}Quita esas claves
merge{{merge o1 o2}}Fusión superficial
{{get reponse "data.client.identifiant"}}
HelperFirmaEfecto
encodeURI{{encodeURI s}}Codifica un componente de URL
decodeURI{{decodeURI s}}Descodifica
urlParse{{urlParse url}}{ href, origin, protocol, host, hostname, port, pathname, search, hash }, o null
stripQuerystring{{stripQuerystring url}}Quita la cadena de consulta
stripProtocol{{stripProtocol url}}Quita el esquema
{{baseUrl}}/recherche?q={{encodeURI termeRecherche}}
HelperFirmaEfecto
year{{year}}El año actual
now{{now}}El instante actual, en ISO
timestamp{{timestamp}}El instante actual, en milisegundos
formatDate{{formatDate date "YYYY-MM-DD"}}Formatea

Observe también que {{timestamp}} está en milisegundos, mientras que {{$timestamp}} (compatibilidad con Postman, más abajo) está en segundos.

HelperFirmaEfecto
coalesce{{coalesce a b c}}El primer valor no nulo
uuid{{uuid}}Un UUID v4
noop{{#noop}}…{{/noop}}Bloque sin efecto
raw{{{{raw}}}}…{{{{/raw}}}}No interpreta el contenido
times{{#times n}}…{{/times}}Repite el bloque; @index, @first, @last disponibles
range{{range start end step}}Arreglo de números, con el final excluido

El helper raw es lo que hace falta cuando envía deliberadamente llaves dobles, por ejemplo para probar un servicio que las interpreta él mismo.

Variables dinámicas (compatibilidad con Postman) (22)

Section titled “Variables dinámicas (compatibilidad con Postman) (22)”

Sin argumentos, con un valor distinto en cada evaluación.

VariableDevuelve
{{$guid}}Un UUID v4
{{$randomUUID}}Un UUID v4
{{$timestamp}}El instante actual, en segundos
{{$isoTimestamp}}El instante actual, en ISO
{{$randomInt}}Un entero de 0 a 1000
{{$randomAlphaNumeric}}8 caracteres alfanuméricos
{{$randomBoolean}}true o false
{{$randomFirstName}}Un nombre de pila
{{$randomLastName}}Un apellido
{{$randomFullName}}Un nombre completo
{{$randomUserName}}prenom.nom<0-99>
{{$randomEmail}}Una dirección de correo electrónico
{{$randomColor}}Un nombre de color
{{$randomWord}}Una palabra
{{$randomWords}}Tres palabras
{{$randomCompanyName}}Un nombre de empresa
{{$randomCity}}Una ciudad
{{$randomCountry}}Un país
{{$randomPhoneNumber}}Un número de teléfono
{{$randomIP}}Una dirección IP
{{$randomIPV4}}Una dirección IPv4
{{$randomPrice}}Un precio con dos decimales
{
"correlationId": "{{$guid}}",
"client": { "nom": "{{$randomFullName}}", "email": "{{$randomEmail}}" },
"emisLe": "{{$isoTimestamp}}"
}

No existe ningún helper de acceso a las variables: están directamente en el contexto. Se escribe {{baseUrl}}, no {{env "baseUrl"}}.

Consulte Variables y entornos.