psmb / mapreduce
Map/Reduce FlowQuery operations
Installs: 1 350
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:neos-package
Requires
- neos/neos: ~3.0
This package is auto-updated.
Last update: 2024-10-14 09:16:55 UTC
README
This package provides .map()
and .reduce()
FlowQuery operations.
Could be useful, huh?
Installation
composer require 'psmb/mapreduce:@dev'
Usage
Map
Takes all items in current FlowQuery context, and transforms each value with given Eel operation.
There is a context variable value
available, with a value of a current node.
E.g. this would give you an array of identifiers of all child nodes of a given node:
${q(node).children().map('value.identifier')}
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Reduce
Takes an Eel Expression as a first argument and initial values as the second. Injects previousValue
,
currentValue
, index
and array
context variables.
E.g. imagine you have a collection of Order nodes, where each node has a price property. Now let's try to get a total price for all of the give nodes:
${q(node).children('orders').reduce('previousValue + currentValue.properties.price', 0)
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce