cdn77/functions

0.2.5 2024-09-12 12:06 UTC

This package is auto-updated.

Last update: 2024-09-12 12:06:55 UTC


README

GitHub Actions Code Coverage Downloads Packagist

函数

absurd()

不应该被调用的函数。在穷举匹配中的 default 情况下很有用。

assert_return()

通过表达式断言值并返回它。

当你想在行内断言时很有用,例如你可以保持箭头函数在原位。

它内部使用原生的 assert()

use function Cdn77\Functions\assert_return;

array_map(
    fn (mixed $value) => new RequiresInt(assert_return($value, is_int(...))),
    [1, 2, 3]
);

noop()

什么都不做。例如,对于当前只支持块中单行表达式的 match 表达式很有用。

match ($val) {
  '1' => throw new Exception,
  '2' => foo(),
  default => noop(),
};

Ds

mapFromEntries()

从一个条目可迭代的对象中创建一个映射。

use function Cdn77\Functions\mapFromEntries;

$map = mapFromEntries([
  ['foo', 'bar'],
  ['baz', 'qux'],
]);

assert($map->get('foo') === 'bar');

可迭代对象

find()

在可迭代对象中查找一个值。

use function Cdn77\Functions\Iterable\find;

$iterable = [0, 1, 2, 3];
$option = find($iterable, static fn (mixed $_, int $value) => $value < 2);

assert($option->unwrap() === 0);