/**
  * @dataProvider provideData
  */
 public function test_it_should_extract_elements_which_exists($data)
 {
     // $get :: String a -> [b] -> Maybe b
     $get = f\curryN(2, function ($key, $array) {
         return isset($array[$key]) ? m\just($array[$key]) : m\nothing();
     });
     $listOfFirstImages = f\pipeline(Listt::of, f\map(m\maybeNull), f\bind(f\bind($get('meta'))), f\bind(f\bind($get('images'))), f\bind(f\bind($get(0))), f\join);
     $result = $listOfFirstImages($data);
     $this->assertEquals(Listt::of([m\just('//first.jpg'), m\just('//third.jpg'), m\nothing()]), $result);
 }
Esempio n. 2
0
 public function test_it_should_retun_function_accepting_arguments()
 {
     $this->assertInstanceOf(\Closure::class, f\pipeline('strtolower', 'strtoupper'));
 }
function handleRequest(array $request)
{
    return call_user_func(f\pipeline('validateInput', f\map('canonizeEmail'), f\bind('updateDatabaseStep'), 'sendMessage'), $request);
}