Add reduce function to QueryBuilder

Signed-off-by: davidarendsen <davidarendsen@hey.com>
This commit is contained in:
davidarendsen 2022-08-08 15:37:04 +00:00
commit bdc832aaab
3 changed files with 79 additions and 0 deletions

View file

@ -0,0 +1,18 @@
<?php
declare(strict_types=1);
use Arendsen\FluxQueryBuilder\Function\Reduce;
use PHPUnit\Framework\TestCase;
final class ReduceFunctionTest extends TestCase {
public function testSimpleReduce()
{
$expression = new Reduce(['sum' => 'r._value + accumulator.sum'], ['sum' => 0]);
$query = '|> reduce(fn: (r, accumulator) => ({sum: r._value + accumulator.sum}), identity: {sum: 0}) ';
$this->assertEquals($query, $expression->__toString());
}
}