Example #1
0
 /**
  * @return array
  */
 protected function forAllTest()
 {
     $projector = Projectors::select(Selectors::key('foo'))->select(Selectors::key('list')->count())->as('count')->join(Projectors::forAll(Selectors::key('list'), Projectors::select(Selectors::callback(function ($value) {
         return $value['bar'] * 3;
     }))->as('bar')));
     return array($projector, array('foo' => 1, 'list' => array(array('bar' => 1), array('bar' => 2), array('bar' => 3))), new \ArrayIterator(array(DefaultProjectionBuilder::fromObject((object) array('foo' => 1, 'count' => 3, 'bar' => 3)), DefaultProjectionBuilder::fromObject((object) array('foo' => 1, 'count' => 3, 'bar' => 6)), DefaultProjectionBuilder::fromObject((object) array('foo' => 1, 'count' => 3, 'bar' => 9)))));
 }
Example #2
0
 /**
  * @return string[][]
  */
 protected function staticCallDataProvider()
 {
     return array(array(Selectors::key('foo'), Key::class), array(Selectors::property('foo'), Property::class), array(Selectors::method('foo'), Method::class), array(Selectors::callback(function () {
     }), Callback::class), array(Selectors::count(), Count::class), array(Selectors::value('foo'), Value::class), array(Selectors::composite(Selectors::value(array()), Selectors::count()), Composite::class));
 }
Example #3
0
 /**
  * @param callable $callback
  *
  * @return \Cubiche\Core\Predicate\SelectorPredicate
  */
 public function callback(callable $callback)
 {
     return $this->select(Selectors::callback($callback)->selector());
 }