Ejemplo n.º 1
0
Archivo: lst.php Proyecto: tapiau/muyo
 /**
  * @param callable $filter
  * @param callable|array|null $list
  * @return callable
  */
 function list_filter_key_dg($filter, $list = null)
 {
     if (null === $list) {
         $list = tuple_get();
     } elseif (is_array_list($list)) {
         $list = return_dg($list);
     } else {
         debug_assert_type($list, 'callable');
     }
     debug_assert_type($filter, 'callable');
     return function () use($list, $filter) {
         $args = func_get_args();
         $list = call_user_func_array($list, $args);
         return list_filter_key($list, $filter);
     };
 }
Ejemplo n.º 2
0
Archivo: misc.php Proyecto: tapiau/muyo
 /**
  * @param mixed $return
  * @param callable|null $apply
  * @return callable
  */
 function return_dg($return, $apply = null)
 {
     if (null !== $apply && debug_assert_type($return, 'array')) {
         return function () use($apply, $return) {
             call_user_func_array($apply, $return);
         };
     } else {
         return function () use($return) {
             return $return;
         };
     }
 }
Ejemplo n.º 3
0
 /**
  * @param string $string
  * @return callable
  */
 function ctype_special_extra($string)
 {
     debug_assert_type($string, 'string');
     return str_all($string, str_contains_dg(tuple_get(), '-_ []{}<>~`+=,.;:/?|'));
 }
Ejemplo n.º 4
0
 /**
  * @param callable $object
  * @param string|callable $what
  * @return callable
  */
 function object_get_dg($object, $what)
 {
     if (is_string($what)) {
         $what = return_dg($what);
     }
     if (debug_assert_type($object, 'callable') && debug_assert($what, 'callable')) {
         return function () use($object, $what) {
             return object_get($object(), $what());
         };
     } else {
         return function () {
             return null;
         };
     }
 }