1 Commits
3 changed files with 8 additions and 6 deletions

No files matched your search

+3 -3
View File
@@ -10,12 +10,12 @@
}
],
"require": {
"mcnd/picea": "^1.4.0"
"mcnd/picea": "dev-master"
},
"repositories": [
{
"type": "composer",
"url": "https://git.mcnd.ca/api/packages/mcndave/composer"
"type": "vcs",
"url": "https://github.com/mcNdave/picea.git"
}
],
"autoload": {
+4 -3
View File
@@ -226,7 +226,7 @@ class FormContext implements FormContextInterface
is_null($value) => null,
enum_exists($e) => ( $value instanceof \BackedEnum ? $value : $e::tryFrom($value) ) ?? throw new \InvalidArgumentException(sprintf("Field '\$$property' awaiting values : '%s'.", implode("', '", array_map(fn($e) => $e->value, $e::cases())))),
function_exists($e) => $e($value),
class_exists($e) => new $e(...$value),
class_exists($e) => is_array($value) ? new $e(...$value) : new $e($value),
interface_exists($e) => throw new \InvalidArgumentException("There is no way provided to match an interface object yet."),
default => $value
};
@@ -238,11 +238,12 @@ class FormContext implements FormContextInterface
}
elseif ($types instanceof \ReflectionIntersectionType || $types instanceof \ReflectionUnionType) {
foreach($types->getTypes() as $type) {
return $cast($type->getName());
$value = $cast($type->getName());
break;
}
}
elseif ($types->isBuiltin()) {
return $cast($types->getName());
$value = $cast($types->getName());
}
return $value;
+1
View File
@@ -13,6 +13,7 @@ class FormHandler {
public bool $validateCsrfToken = true;
# in PHP 8.5, value should be taken directly from a property get within $context->formExecutionStatus
public /* mixed */ $executionStatus = null;
public ? bool $validationStatus = null;