Files
low-code-react-app-b/JSON_EXPRESSION_SYSTEM.md

1.4 KiB

JSON Expression System

This document describes the supported JSON expression patterns used across JSON UI schemas. Legacy compute functions have been removed in favor of expression strings and value templates.

Core Concepts

Expressions

Expressions are string values that resolve against a data + event context:

{
  "expression": "event.target.value"
}

Supported expression patterns:

  • data or event
  • Dot access: data.user.name, event.target.value
  • Literals: numbers, booleans, null, undefined, quoted strings
  • Time: Date.now()
  • Array filtering:
    • data.todos.filter(completed === true)
    • data.users.filter(status === 'active').length

Value Templates

Value templates are JSON objects whose string values are evaluated as expressions:

{
  "valueTemplate": {
    "id": "Date.now()",
    "text": "data.newTodo",
    "completed": false
  }
}

Conditions

Conditions use expression strings that are evaluated against the data context:

{
  "condition": "data.newTodo.length > 0"
}

Supported condition patterns:

  • data.field > 0
  • data.field.length > 0
  • data.field === 'value'
  • data.field != null

Legacy Compute Functions (Removed)

Schemas should no longer reference function names in compute, transform, or string-based condition fields. Use expression and valueTemplate instead.