MallaDocs

Referencia de expresiones

Operadores, variables de ámbito, funciones fn integradas y métodos disponibles en las expresiones.

Guía de usuario

Las expresiones son un subconjunto seguro de JavaScript. Esta página lista todo lo que pueden usar. El autocompletado del editor se construye a partir de las mismas definiciones, así que esta lista siempre está completa.

Sintaxis

js
// Arithmetic       + - * / % **
// Comparison       == != === !== < > <= >=
// Logic            && || ! ?? and  cond ? a : b
// Access           a.b  a[b]  a?.b
// Literals         'text'  `Hi ${user.name}`  [1, ...list]  { a: 1, ...obj }
// Lambdas          items.filter(x => x.price > 10)   (as call arguments only)

Ámbito

NombreContieneDisponible en
varsvariables de la página y del sitiotodas partes
queries{ data, loading, error, updatedAt } por consultapáginas
item, index, parentla fila actual, su posición y la fila que la contienelistas de colección, páginas plantilla
pagepath, params, querypáginas
sitename, localetodas partes
userel visitante; { isLoggedIn: false } cuando no ha iniciado sesióntodas partes
steps, input, event, errorresultados de los pasos, entrada del flujo de trabajo, el evento que lo disparó, un error capturadoflujos de trabajo
rowla fila que se lee o se escribereglas de fila
fnlas funciones integradas de abajo y tus fórmulastodas partes

Funciones

Llama a las funciones integradas como fn.name(…). Los argumentos marcados con ? son opcionales. Los argumentos de clave aceptan una ruta de campo ('author.name') o una lambda.

Formato

FunciónDevuelveDescripción
fn.formatNumber(value, decimals?, locale?)stringLocale-formatted number with grouping. decimals is a fixed number of decimals or Intl.NumberFormat options ({ notation: "compact" }, { style: "percent" }). Empty string for null/undefined.
fn.formatNumber(1234.5, 2, 'en-US') // '1,234.50'
fn.formatCurrency(value, currency?, locale?, decimals?)stringLocale-formatted money amount (currency: ISO 4217 code, default USD).
fn.formatCurrency(item.price, 'EUR', 'de-DE') // '12,50 €'
fn.formatDate(date, format?, locale?, timeZone?)stringLocale-formatted date. Formats: short, medium (default), long, full, datetime, time, iso, isoDateTime, or Intl.DateTimeFormat options. Time zone defaults to UTC.
fn.formatDate(item.publishedAt, 'long', 'en-GB') // '1 March 2026'

Fechas

FunciónDevuelveDescripción
fn.now()dateCurrent time as an ISO string.
fn.now()
fn.dateAdd(date, amount, unit)dateAdds an amount of a unit (year, quarter, month, week, day, hour, minute, second). UTC; month math clamps to the last day.
fn.dateAdd(fn.now(), 7, 'day')
fn.dateDiff(from, to, unit?)numberWhole units from from to to (default day; negative when to is earlier).
fn.dateDiff(item.publishedAt, fn.now(), 'day')
fn.startOf(date, unit)dateStart of the unit containing the date (UTC; weeks start on Monday).
fn.startOf(fn.now(), 'month')

Texto

FunciónDevuelveDescripción
fn.truncate(text, length, suffix?)stringCuts to length characters (suffix included, default …) when longer.
fn.truncate(item.excerpt, 120)
fn.slugify(text)stringKebab-case ASCII slug (Café Ñandú → cafe-nandu).

Arrays

FunciónDevuelveDescripción
fn.length(value)numberItems in an array, characters in a string, keys in an object; 0 otherwise.
fn.sum(items, key?)numberSum of the numeric values (non-numbers skipped).
fn.sum(queries.cart.data, 'price')
fn.avg(items, key?)numberAverage of the numeric values; null when there are none.
fn.uniq(items, key?)arrayItems with duplicates removed (by deep value, or by key).
fn.groupBy(items, key)objectObject of arrays keyed by the key value.
fn.groupBy(queries.products.data, 'category')
fn.sortBy(items, key?, direction?)arraySorted copy (asc default or desc): numbers numerically, strings by code point, null last.
fn.sortBy(items, 'price', 'desc')
fn.range(start, end?, step?)arrayNumbers from start (inclusive) to end (exclusive); fn.range(3) → [0, 1, 2].

Matemáticas

FunciónDevuelveDescripción
fn.min(...values)anySmallest value: fn.min(1, 2), fn.min(items, "price").
fn.max(...values)anyLargest value: fn.max(1, 2), fn.max(items, "price").
fn.round(value, decimals?)numberRounds half away from zero to decimals places (default 0).

Objetos

FunciónDevuelveDescripción
fn.keys(object)arrayOwn keys.
fn.values(object)arrayOwn values.
fn.entries(object)array[key, value] pairs.

Lógica

FunciónDevuelveDescripción
fn.default(value, fallback)anyThe fallback when the value is null, undefined or "".
fn.default(item.subtitle, 'Untitled')
fn.toNumber(value, fallback?)numberNumber from a number or numeric string; the fallback (default null) otherwise.

JSON

FunciónDevuelveDescripción
fn.jsonStringify(value, indent?)stringJSON text (forbidden keys dropped; oversized values are errors).
fn.jsonParse(text, fallback?)anyParses JSON; the fallback (default null) when invalid. __proto__/constructor keys are dropped.

Métodos

Los valores también tienen los métodos habituales de JavaScript. Los métodos nunca cambian el original: sort y reverse devuelven copias.

Métodos de texto

MétodoDevuelveDescripción
.lengthnumberNumber of UTF-16 code units.
.toUpperCase()stringUpper-case copy.
.toLowerCase()stringLower-case copy.
.trim()stringRemoves leading and trailing whitespace.
.trimStart()stringRemoves leading whitespace.
.trimEnd()stringRemoves trailing whitespace.
.startsWith(search, position?)booleanTrue when the string starts with search.
.endsWith(search, length?)booleanTrue when the string ends with search.
.includes(search)booleanTrue when search occurs in the string.
.indexOf(search, from?)numberFirst index of search, or -1.
.lastIndexOf(search)numberLast index of search, or -1.
.slice(start?, end?)stringPart of the string (negative indexes count from the end).
.substring(start, end?)stringPart of the string between two indexes.
.split(separator, limit?)arraySplits on a literal separator.
.replace(search, replacement)stringReplaces the first literal occurrence.
.replaceAll(search, replacement)stringReplaces every literal occurrence.
.padStart(length, fill?)stringPads the start to length.
.padEnd(length, fill?)stringPads the end to length.
.repeat(count)stringThe string repeated count times.
.charAt(index)stringCharacter at an index.
.at(index)stringCharacter at an index (negative counts from the end).
.concat(...parts)stringAppends the parts.
.localeCompare(other, locale?)numberLocale-aware comparison (-1, 0, 1).
.toString()stringThe string itself.

Métodos de array

MétodoDevuelveDescripción
.lengthnumberNumber of items.
.map(callback)arrayNew array with the callback result for each item: (item, index) => ….
.filter(callback)arrayItems for which the callback is truthy.
.find(callback)anyFirst item for which the callback is truthy.
.findIndex(callback)numberIndex of the first match, or -1.
.findLast(callback)anyLast item for which the callback is truthy.
.findLastIndex(callback)numberIndex of the last match, or -1.
.some(callback)booleanTrue when the callback is truthy for any item.
.every(callback)booleanTrue when the callback is truthy for every item.
.reduce(callback, initial?)anyFolds the items into one value: (acc, item, index) => ….
.flatMap(callback)arrayMaps, then flattens one level.
.includes(value)booleanTrue when the array contains the value (===).
.indexOf(value)numberFirst index of the value, or -1.
.lastIndexOf(value)numberLast index of the value, or -1.
.join(separator?)stringJoins the items into a string (default ,).
.slice(start?, end?)arrayPart of the array (negative indexes count from the end).
.concat(...values)arrayNew array with the values appended (arrays flattened one level).
.at(index)anyItem at an index (negative counts from the end).
.flat(depth?)arrayFlattens nested arrays (default depth 1, max 10).
.reverse()arrayReversed copy (the original never changes).
.sort(compare?)arraySorted copy (the original never changes). Without a comparator, sorts as strings like JS.

Métodos de número

MétodoDevuelveDescripción
.toFixed(digits?)stringFixed-point notation (0–100 digits).
.toPrecision(precision)stringSignificant-digit notation (1–100).
.toString(radix?)stringText form, optionally in base 2–36.
.toLocaleString(locale?)stringLocale-formatted number (default: site locale).
.toString()string"true" or "false".