11<?php
2+ declare (strict_types=1 );
23
34/**
45 * This file contains the ArrayStructureElement.php.
@@ -18,14 +19,14 @@ class ArrayStructureElement extends BasicStructureElement
1819 /**
1920 * Parse an array object.
2021 *
21- * @param object $object APIB Item to parse
22- * @param array $dependencies List of dependencies build
22+ * @param object|null $object APIB Item to parse
23+ * @param array $dependencies List of dependencies build
2324 *
2425 * @return self Self reference
2526 */
26- public function parse (object $ object , array &$ dependencies ): StructureElement
27+ public function parse (? object $ object , array &$ dependencies ): StructureElement
2728 {
28- $ this ->element = ( isset ( $ object ->element )) ? $ object -> element : 'array ' ;
29+ $ this ->element = $ object ->element ?? 'array ' ;
2930
3031 $ this ->parse_common ($ object , $ dependencies );
3132
@@ -40,7 +41,9 @@ public function parse(object $object, array &$dependencies): StructureElement
4041 $ dependencies [] = $ sub_item ->element ;
4142 }
4243
43- $ this ->value [] = (isset ($ sub_item ->element )) ? $ sub_item ->element : '' ;
44+ $ key = $ sub_item ->element ?? 'any ' ;
45+ $ value = $ sub_item ->content ?? NULL ;
46+ $ this ->value [] = [$ value => $ key ];
4447 }
4548
4649 $ this ->deps = $ dependencies ;
@@ -62,13 +65,16 @@ public function __toString(): string
6265 }
6366
6467 foreach ($ this ->value as $ item ) {
65- $ type = (in_array ($ item , self ::DEFAULTS )) ? $ item : '<a href="#object- ' . str_replace (
68+ $ value = key ($ item );
69+ $ key = $ item [$ value ];
70+ $ type = (in_array ($ key , self ::DEFAULTS )) ? "<code> $ key</code> " : '<a href="#object- ' . str_replace (
6671 ' ' ,
6772 '- ' ,
68- strtolower ($ item )
69- ) . '"> ' . $ item . '</a> ' ;
73+ strtolower ($ key )
74+ ) . '"> ' . $ key . '</a> ' ;
7075
71- $ return .= '<li class="list-group-item mdl-list__item"> ' . $ type . '</li> ' ;
76+ $ value = empty ($ value ) ? '' : " - <span class= \"example-value pull-right \"> $ value</span> " ;
77+ $ return .= '<li class="list-group-item mdl-list__item"> ' . $ type . $ value . '</li> ' ;
7278 }
7379
7480 $ return .= '</ul> ' ;
0 commit comments