[Type] add TypeInterface / add Type::matches / add vec and dict types. #132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #128
closes #129
change-log:
Features:
Type\vec
functions that returns a Type ofvec<T>
( akalist<T>
,T[]
)Type\dict
function that returns a Type ofdict<Tk, Tv>
( akaarray<Tk, Tv>
)Type\TypeInterface
interface that is implemented by all types.Type::matches($value): bool
method to check if the given value is of that type.Deprecation:
Type\is_*
functions have been deprecated, useType\string()->matches($value)
instead ofType\is_string($value)
Breaking changes:
matches
has been added toType\Type
, if you have a type that extends this base class, you probably won't be effected, unless you have a method in your class namedmatches
.