From: Andrey Kutejko Date: Wed, 31 Dec 2014 09:47:01 +0000 (+0200) Subject: remove array fluent api X-Git-Tag: 0.2~5 X-Git-Url: https://git.andy128k.dev/?a=commitdiff_plain;h=e5823edae0f311cdd3cac27c608fa6166df5175d;p=missing-tools.git remove array fluent api --- diff --git a/src/array.php b/src/array.php index f2f38f7..39e03e3 100644 --- a/src/array.php +++ b/src/array.php @@ -2,86 +2,8 @@ namespace PFF; -use \PFF\Symbol as S; - -final class Arr implements \ArrayAccess +final class Arr { - private $arr; - - public function __construct($arr) - { - $this->arr = $arr; - } - - public static function create($arr) - { - return new self($arr); - } - - public function arr() - { - return $this->arr; - } - - public function map(/* $func, ... $args */) - { - $args = func_get_args(); - $func = array_unshift($args); - $pos = array_search(S::_(), $args, true); - if (!$pos) - $pos = 0; - - $result = array(); - foreach ($this->arr as $item) { - $args[$pos] = $item; - $result[] = call_user_func_array($func, $args); - } - - return new self($result); - } - - public function pluck($key) - { - $result = array(); - foreach ($this->arr as $item) - $result[] = is_object($item) ? $item->$key : $item[$key]; - return new self($result); - } - - /* strings */ - - public function join($separator) - { - return implode($separator, $this->arr); - } - - /* ArrayAccess */ - - public function offsetSet($offset, $value) - { - if (is_null($offset)) - $this->arr[] = $value; - else - $this->arr[$offset] = $value; - } - - public function offsetExists($offset) - { - return isset($this->arr[$offset]); - } - - public function offsetUnset($offset) - { - unset($this->arr[$offset]); - } - - public function offsetGet($offset) - { - return isset($this->arr[$offset]) ? $this->arr[$offset] : null; - } - - /* */ - public static function get($array, $key, $default=null) { if (array_key_exists($key, $array)) @@ -123,5 +45,13 @@ final class Arr implements \ArrayAccess }); return $result; } + + public static function pluck($array, $key) + { + $result = array(); + foreach ($array as $item) + $result[] = is_object($item) ? $item->$key : $item[$key]; + return $result; + } }