| @@ 254-271 (lines=18) @@ | ||
| 251 | * @param string $type |
|
| 252 | * @return ClassGenerator |
|
| 253 | */ |
|
| 254 | public function generateListGetAt(string $name, string $type): ClassGenerator |
|
| 255 | { |
|
| 256 | $this->class |
|
| 257 | ->addMethod(static::camelCase('get_' . $name . '_at')) |
|
| 258 | ->addComment( |
|
| 259 | '@param int $index' . PHP_EOL . |
|
| 260 | '@return ' . $this->getCommentTypeHint($type) |
|
| 261 | )->setReturnType($this->getTypeHint($type)) |
|
| 262 | ->setReturnNullable(true) |
|
| 263 | ->setBody( |
|
| 264 | 'if (isset($this->__' . $name . '__[0]) && array_key_exists($index, $this->__' . $name . '__[0])) {' . |
|
| 265 | PHP_EOL . ' return $this->__' . $name . '__[0][$index];' . PHP_EOL . |
|
| 266 | '}' . PHP_EOL . |
|
| 267 | 'return null;' |
|
| 268 | )->addParameter('index') |
|
| 269 | ->setTypeHint('int'); |
|
| 270 | return $this; |
|
| 271 | } |
|
| 272 | ||
| 273 | /** |
|
| 274 | * @param string $name |
|
| @@ 382-398 (lines=17) @@ | ||
| 379 | * @param string $type |
|
| 380 | * @return ClassGenerator |
|
| 381 | */ |
|
| 382 | public function generateMapGetAt(string $name, string $type): ClassGenerator |
|
| 383 | { |
|
| 384 | $this->class |
|
| 385 | ->addMethod(static::camelCase('get_' . $name . '_at')) |
|
| 386 | ->addComment( |
|
| 387 | '@param mixed $key' . PHP_EOL . |
|
| 388 | '@return ' . $this->getCommentTypeHint($type) |
|
| 389 | )->setReturnType($this->getTypeHint($type)) |
|
| 390 | ->setReturnNullable(true) |
|
| 391 | ->setBody( |
|
| 392 | 'if (isset($this->__' . $name . '__[0]) && array_key_exists($key, $this->__' . $name . '__[0])) {' . |
|
| 393 | PHP_EOL . ' return $this->__' . $name . '__[0][$key];' . PHP_EOL . |
|
| 394 | '}' . PHP_EOL . |
|
| 395 | 'return null;' |
|
| 396 | )->addParameter('key'); |
|
| 397 | return $this; |
|
| 398 | } |
|
| 399 | ||
| 400 | /** |
|
| 401 | * @param string $name |
|