1: <?php
2:
3: namespace Chromabits\Nucleus\Data\Interfaces;
4:
5: /**
6: * Interface KeyFoldableInterface
7: *
8: * A class implementing foldrWithKeys.
9: *
10: * @author Eduardo Trujillo <ed@chromabits.com>
11: * @package Chromabits\Nucleus\Data\Interfaces
12: */
13: interface KeyFoldableInterface extends FoldableInterface
14: {
15: /**
16: * Combine all the elements in the traversable using a combining operation.
17: *
18: * @param callable $closure
19: * @param mixed $initial
20: *
21: * @return mixed
22: */
23: public function foldrWithKeys(callable $closure, $initial);
24: }
25: