dgame/php-optional

php optional

v0.8.0 2017-11-22 12:40 UTC

This package is auto-updated.

Last update: 2024-04-26 20:20:49 UTC


README

Scrutinizer Code Quality

Build Status

Rust-like Optional-type for PHP 7

Some - a valid Value

$some = some(42);
$this->assertTrue($some->isSome());
$this->assertEquals(42, $some->unwrap());

Some with argument unpacking

$some = some(42);
$this->assertTrue($some->isSome($value));
$this->assertFalse($some->isNone());
$this->assertEquals(42, $value);

None - an invalid value

$none = none();
$this->assertTrue($none->isNone());
$this->assertFalse($none->isSome());

None with argument unpacking

$none = none();
$this->assertTrue($none->isNone());
$this->assertFalse($none->isSome($value));
$this->assertNull($value);

Maybe - decides for you if your value is a Some or a None

$maybe = maybe(null);
$this->assertTrue($maybe->isNone());
$maybe = maybe(42);
$this->assertTrue($maybe->isSome());
$this->assertEquals(42, $maybe->unwrap());

Ensure that a condition is fulfilled

$result = some(0)->ensure(function($value) {
    return $value > 0;
});
$this->assertTrue($result->isNone());