Skip to content

Commit 919e555

Browse files
committed
Add the possibility to give a null parameter if the column of type resource is nullable
1 parent 69fe385 commit 919e555

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/Utils/ScalarBeanPropertyDescriptor.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,13 +210,21 @@ public function getGetterSetterCode(): array
210210

211211
$resourceTypeCheck = '';
212212
if ($normalizedType === 'resource') {
213-
$resourceTypeCheck .= <<<EOF
214-
213+
if ($isNullable) {
214+
$resourceTypeCheck .= <<<EOF
215+
if ($%s !== null && !\is_resource($%s)) {
216+
throw \TheCodingMachine\TDBM\TDBMInvalidArgumentException::badType('resource', $%s, __METHOD__);
217+
}
218+
EOF;
219+
$resourceTypeCheck = sprintf($resourceTypeCheck, $this->column->getName(), $this->column->getName(), $this->column->getName());
220+
} else {
221+
$resourceTypeCheck .= <<<EOF
215222
if (!\is_resource($%s)) {
216223
throw \TheCodingMachine\TDBM\TDBMInvalidArgumentException::badType('resource', $%s, __METHOD__);
217224
}
218225
EOF;
219-
$resourceTypeCheck = sprintf($resourceTypeCheck, $this->column->getName(), $this->column->getName());
226+
$resourceTypeCheck = sprintf($resourceTypeCheck, $this->column->getName(), $this->column->getName());
227+
}
220228
}
221229

222230

0 commit comments

Comments
 (0)