core / transform / schema v1
List
Transform a list (map, filter, sort, group, reduce, aggregate, pick at random and more) with {{item}} expressions.
Prerequisites
No connection prerequisite is declared for this node.
Parameters
| Parameter | Type | Description |
|---|---|---|
Operationoperation | select Required | Options: Map: transform each item (map), Filter. Keep matching items (filter), Find: first matching item (find), Sort (sort), Unique. Remove duplicates (unique), Group by (group), Reduce: combine all items into one result (reduce), Aggregate: sum / avg / min / max / count (aggregate), Random. Pick one (or N) at random (random), Slice: a sub-range (slice), Join, to text (join) |
Listitems | list_items Required | An expression that resolves to an array. |
Formulaexpression | text Conditionally required | Worked out once per item. Available: item, index. And acc (the running result so far) when using Reduce.Field conditions{
"visible": {
"key": "operation",
"values": [
"map",
"reduce"
]
},
"required": {
"key": "operation",
"values": [
"map",
"reduce"
]
}
} |
Initial valueinitial | text Optional | The starting point Reduce builds on: becomes the first "acc" (a number, "" for text, or JSON).Field conditions{
"visible": {
"key": "operation",
"values": [
"reduce"
]
}
} |
Conditioncondition | text Conditionally required | A boolean expression. Available: item, index.Field conditions{
"visible": {
"key": "operation",
"values": [
"filter",
"find"
]
},
"required": {
"key": "operation",
"values": [
"filter",
"find"
]
}
} |
Sort by / Group bykey | text Conditionally required | What to read on each item to sort, dedupe or group by. Available: item, index.Field conditions{
"visible": {
"key": "operation",
"values": [
"sort",
"unique",
"group"
]
},
"required": {
"key": "operation",
"values": [
"group"
]
}
} |
Orderorder | select Optional | Options: Ascending (asc), Descending (desc) Field conditions{
"visible": {
"key": "operation",
"values": [
"sort"
]
}
} |
Functionfunc | select Conditionally required | Options: Count (count), Sum (sum), Average (avg), Min (min), Max (max) Field conditions{
"visible": {
"key": "operation",
"values": [
"aggregate"
]
},
"required": {
"key": "operation",
"values": [
"aggregate"
]
}
} |
Number to add upfield | text Optional | The number to read on each item (not needed for Count).Field conditions{
"visible": {
"key": "operation",
"values": [
"aggregate"
]
}
} |
How manysampleSize | number Optional | How many random items to pick (default 1, no repeats). 1 returns the item itself; more returns a list.Field conditions{
"visible": {
"key": "operation",
"values": [
"random"
]
}
} |
Start indexstart | number Optional | Field conditions{
"visible": {
"key": "operation",
"values": [
"slice"
]
}
} |
End indexend | number Optional | Field conditions{
"visible": {
"key": "operation",
"values": [
"slice"
]
}
} |
Separatorseparator | text Optional | Field conditions{
"visible": {
"key": "operation",
"values": [
"join"
]
}
} |
Also publish asoutputAs | text Optional | Give this node's {{result}} output a name of your own (e.g. "winners"), so downstream nodes can reference {{winners}} directly. Handy when another node also publishes {{result}}, Noria would otherwise silently use whichever one ran last. {{result}} keeps working unchanged either way. |
Inputs and outputs
Inputs
execute- Execute (input)
Outputs
done- Done (output)result- Result (output)count- Count (output)error- Error (output)
Output data schema
[
{
"key": "result",
"type": "any",
"label": "Result",
"description": "A list for map/filter/sort/…, a single item for pick_random/first/last, a number for aggregates"
},
{
"key": "count",
"type": "number",
"label": "Count",
"description": "Items in the result (1 for a single-item operation)"
}
]Examples and troubleshooting have not yet been reviewed for this contract.
Version and compatibility
This reference follows the current authoring contract. Existing workflows retain their saved node revisions.
Contract identifier
7696747731755416b6181287dba3ce3670427f37ac77b642eea356805eb3e517