182 add date time interface param #59
ci.yml
on: pull_request
Matrix: Code style
Matrix: Code coverage
Matrix: Mutation testing
Matrix: Psalm
Matrix: Security check
Matrix: PhpStan
Matrix: unit
Annotations
11 errors and 19 warnings
InvalidStringClass:
src/Specification/SpecificationParser.php#L64
src/Specification/SpecificationParser.php:64:36: InvalidStringClass: String cannot be used as a class (see https://psalm.dev/160)
|
PropertyTypeCoercion:
src/Specification/SpecificationParser.php#L64
src/Specification/SpecificationParser.php:64:36: PropertyTypeCoercion: $this->dateTimeClass expects 'DateTimeInterface|null', parent type 'object' provided (see https://psalm.dev/198)
|
UndefinedMethod:
src/Types/TypeSerializer.php#L21
src/Types/TypeSerializer.php:21:20: UndefinedMethod: Method DateTimeInterface::createfromformat does not exist (see https://psalm.dev/022)
|
MoreSpecificReturnType:
src/Types/TypeSerializer.php#L32
src/Types/TypeSerializer.php:32:105: MoreSpecificReturnType: The declared return type 'DateTimeInterface' for OnMoon\OpenApiServerBundle\Types\TypeSerializer::deserializeDateTime is more specific than the inferred return type 'object' (see https://psalm.dev/070)
|
UndefinedClass:
src/Types/TypeSerializer.php#L35
src/Types/TypeSerializer.php:35:20: UndefinedClass: Type DateTimeInterface cannot be called as a class (see https://psalm.dev/019)
|
LessSpecificReturnStatement:
src/Types/TypeSerializer.php#L35
src/Types/TypeSerializer.php:35:20: LessSpecificReturnStatement: The type 'object' is more general than the declared return type 'DateTimeInterface' for OnMoon\OpenApiServerBundle\Types\TypeSerializer::deserializeDateTime (see https://psalm.dev/129)
|
Psalm (ubuntu-latest, 8.1)
Process completed with exit code 2.
|
PhpStan (ubuntu-latest, 8.1):
src/Specification/SpecificationParser.php#L64
Property OnMoon\OpenApiServerBundle\Specification\SpecificationParser::$dateTimeClass (DateTimeInterface|null) does not accept object.
|
PhpStan (ubuntu-latest, 8.1):
src/Types/TypeSerializer.php#L21
Call to an undefined static method DateTimeInterface::createFromFormat().
|
PhpStan (ubuntu-latest, 8.1)
Process completed with exit code 1.
|
Mutation testing (ubuntu-latest, 8.1)
Process completed with exit code 1.
|
Security check (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.0-ubuntu-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Psalm (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Code style (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Code coverage (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.1-ubuntu-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
PhpStan (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.1-ubuntu-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.0-ubuntu-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.0-windows-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.0-windows-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.1-windows-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Unit tests 8.1-windows-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Mutation testing (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Mutation testing (ubuntu-latest, 8.1):
src/CodeGenerator/AttributeGenerator.php#L47
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation":
--- Original
+++ New
@@ @@
public function requestPass(?DtoReference $root) : void
{
$this->treeWalk($root, static function (Property $specProperty, PropertyDefinition $property) : void {
- $willExist = $specProperty->isRequired() || $specProperty->getDefaultValue() !== null;
+ $willExist = !$specProperty->isRequired() || !($specProperty->getDefaultValue() !== null);
$property->setHasGetter(true)->setHasSetter(false)->setNullable(!$willExist || $specProperty->isNullable())->setInConstructor(false);
});
}
|
Mutation testing (ubuntu-latest, 8.1):
src/CodeGenerator/AttributeGenerator.php#L47
Escaped Mutant for Mutator "LogicalOrSingleSubExprNegation":
--- Original
+++ New
@@ @@
public function requestPass(?DtoReference $root) : void
{
$this->treeWalk($root, static function (Property $specProperty, PropertyDefinition $property) : void {
- $willExist = $specProperty->isRequired() || $specProperty->getDefaultValue() !== null;
+ $willExist = !$specProperty->isRequired() || $specProperty->getDefaultValue() !== null;
$property->setHasGetter(true)->setHasSetter(false)->setNullable(!$willExist || $specProperty->isNullable())->setInConstructor(false);
});
}
|
Mutation testing (ubuntu-latest, 8.1):
src/Serializer/ArrayDtoSerializer.php#L117
Escaped Mutant for Mutator "LogicalAndNegation":
--- Original
+++ New
@@ @@
$converter = fn($v) => $this->convert($deserialize, $v, $objectType->getSchema());
} else {
$outputClass = null;
- if ($typeId !== null && $this->resolver->isDateTime($typeId)) {
+ if (!($typeId !== null && $this->resolver->isDateTime($typeId))) {
$outputClass = $property->getOutputType();
}
/** @psalm-suppress MissingClosureParamType */
|
Mutation testing (ubuntu-latest, 8.1):
src/Serializer/ArrayDtoSerializer.php#L117
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation":
--- Original
+++ New
@@ @@
$converter = fn($v) => $this->convert($deserialize, $v, $objectType->getSchema());
} else {
$outputClass = null;
- if ($typeId !== null && $this->resolver->isDateTime($typeId)) {
+ if ($typeId !== null && !$this->resolver->isDateTime($typeId)) {
$outputClass = $property->getOutputType();
}
/** @psalm-suppress MissingClosureParamType */
|
Mutation testing (ubuntu-latest, 8.1):
src/Types/ScalarTypesResolver.php#L83
Escaped Mutant for Mutator "NotIdentical":
--- Original
+++ New
@@ @@
}
$format = $this->scalarTypes[$id];
if ($deserialize && isset($format['deserializer'])) {
- if ($outputClass !== null) {
+ if ($outputClass === null) {
return TypeSerializer::{$format['deserializer']}($value, $outputClass);
}
return TypeSerializer::{$format['deserializer']}($value);
|