Example #1
0
File: misc.php Project: tapiau/muyo
 /**
  * @param ... $values
  * @return mixed
  */
 function tuple_max($values)
 {
     $args = array_filter_key(func_get_args(), not_dg(eq_dg(tuple_get(), return_dg(null))));
     $argsCount = count($args);
     if ($argsCount < 1) {
         $ret = null;
     } elseif ($argsCount === 1) {
         $ret = array_shift($args);
     } else {
         $ret = call_user_func_array('max', $args);
     }
     return $ret;
 }
Example #2
0
File: arr.php Project: tapiau/muyo
 /**
  * @param callable $iterator
  * @return callable
  */
 function array_filter_key_dg($iterator)
 {
     return function ($array) use($iterator) {
         return array_filter_key($array, $iterator);
     };
 }
Example #3
0
File: lst.php Project: tapiau/muyo
 /**
  * @param array $list
  * @param callable $filter
  * @return array
  */
 function list_filter_key($list, $filter)
 {
     return array_values(array_filter_key($list, $filter));
 }
Example #4
0
 /**
  * @param object $config
  * @param callable $callable
  * @return object
  */
 function object_filter_val($config, $callable)
 {
     return (object) array_filter_key((array) $config, function () use($callable) {
         return call_user_func_array($callable, func_get_args());
     });
 }
Example #5
0
File: net.php Project: tapiau/muyo
 /**
  * @param string $name
  * @param mixed $value
  * @return string
  */
 function mime_header_entry_map($value, $name)
 {
     if (debug_assert(is_string($name), "Invalid parameters ")) {
         switch ($name) {
             case 'Content-Type':
                 arrayize($value);
                 $value = mime_header_contenttype_map($value[0], array_filter_key($value, tuple_get(1, 'is_string')));
                 break;
             case 'Content-Disposition':
                 $value['name'] = mime_header_encode($value['name']);
                 $value = mime_header_contenttype_map($value[0], array_filter_key($value, tuple_get(1, 'is_string')));
                 break;
             default:
                 $dump = var_dump_human_compact($value);
                 debug_enforce(is_string($value), "Could not map '{$name}'=>'{$dump}'");
                 break;
         }
         return "{$name}: {$value}\r\n";
     } else {
         return '';
     }
 }
Example #6
0
 /**
  * @override
  * @return array
  */
 public function getColumns()
 {
     $alias = $this->getAlias();
     $fields = $this->getSelect()->getFields();
     $fieldsSet = array_filter_key($fields, function () {
         $isSet = func_get_arg(0);
         return $isSet;
     });
     $ret = array_map_val($fieldsSet, function () use($alias) {
         $name = func_get_arg(1);
         return array($alias, $name, null);
     });
     return $ret;
 }