Collection of objects that provides ability of checking value types

Fund package maintenance!
Liberapay

2.5.2 2021-09-25 09:44 UTC

This package is auto-updated.

Last update: 2021-11-03 14:27:01 UTC


README

Latest Version on Packagist Software License Total Downloads Code Coverage

Collection of objects that provides ability of checking value types.

Install

Via Composer

$ composer require spaceonfire/type

Usage

use spaceonfire\Type\BuiltinType;
use Webmozart\Assert\Assert;

$int = new BuiltinType(BuiltinType::INT);
Assert::true($int->check(1));
Assert::false($int->check('1'));

$intNonStrict = new BuiltinType(BuiltinType::INT, false);
Assert::true($intNonStrict->check('1'));
Assert::same(1, $intNonStrict->cast('1'));

You can also use factory to create type object from string

use spaceonfire\Type\Factory\CompositeTypeFactory;
use spaceonfire\Type\Factory\MemoizedTypeFactory;

$factory = new MemoizedTypeFactory(CompositeTypeFactory::makeWithDefaultFactories());
$factory->make('int');
$factory->make('string[]');
$factory->make('array<string,object>');
$factory->make('int|null');
$factory->make('Traversable|iterable|null');
$factory->make('Traversable&JsonSerializable');

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Report issues and send Pull Requests in the main spaceonfire repository. Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.