* use spread syntax instead of array_merge()
* use type cast instead of function cast
* removed redundant returns
* removed redundant phpdoc - type is already inferred
* removed invalid phpdoc - type is already inferred
The PHPDoc return type hint was incomplete, it should have been `InvalidEmail|null`, however, it can be removed altogether as the return type is already inferred from the code.
* changed warnEscaping()'s return value from bool to void
This is not a breaking change as the method is private, and it's only used at one place, where the return value was not used anyway.
* made private class property local
`private $parser` was used in only one place, hence it can be local, there is no reason to put it into the class' scope.
* removed unnecessary type casting
Concatenation already casts `static::CODE` from `int` to `string`, no reason to do it explicitly.
* removed redundant initializers - constructor overwrites them immediately
* removed redundant else block
* simplified if-else statement
* wrapped if body in brackets to comply with PSR12
* fixed README formatting
- fixed numbering at the `Available validations` section
- fixed overall formatting
* Revert "removed redundant phpdoc - type is already inferred"
This reverts commit 68a9ae20bd.
* don't wrap long lines
* make properties typed
Also using constructor property promotion, see more info about it [here](https://php.watch/versions/8.0/constructor-property-promotion).
Corrected PHP example for missing semi-colons. Added a new requirements section that explains the need for composer and the need of the PHP Intl library to use the spoof validation.
Updated composer installation instructions.
It now follows the recommendation of using the "require" command and letting Composer auto-define the latest version.