@@ -35,43 +35,39 @@ public function jsonSerialize(): mixed
35
35
36
36
if ($ type ->isCommentContainer () && !$ type ->hasCommentContainerParent ()) : ?>
37
37
if ([] !== ($vs = $this->_getFHIRComments())) {
38
- $out->{ <?php echo PHPFHIR_CLASSNAME_CONSTANTS ; ?> ::JSON_FIELD_FHIR_COMMENTS} = $vs;
38
+ $out->fhir_comments = $vs;
39
39
}
40
40
<?php endif ;
41
41
foreach ($ type ->getProperties ()->getIterator () as $ property ) :
42
42
$ propConst = $ property ->getFieldConstantName ();
43
43
$ propConstExt = $ property ->getFieldConstantExtensionName ();
44
- $ getter = $ property ->getGetterName ();
45
44
46
45
if ($ property ->getOverloadedProperty ()) :
47
46
continue ;
48
47
endif ;
49
48
$ propertyType = $ property ->getValueFHIRType ();
50
49
if ($ propertyType ->getKind ()->isOneOf (TypeKindEnum::PRIMITIVE , TypeKindEnum::LIST )) :
51
50
if ($ property ->isCollection ()) : ?>
52
- if ([] !== ($vs = $ this-><?php echo $ getter ; ?> ()) ) {
53
- $out->{self:: <?php echo $ propConst ; ?> } = $vs ;
51
+ if (isset($this-> <?php echo $ property -> getName (); ?> ) && [] !== $ this-><?php echo $ property -> getName () ; ?> ) {
52
+ $out-><?php echo $ property -> getName () ; ?> = $this-> <?php echo $ property -> getName (); ?> ;
54
53
}
55
54
<?php else : ?>
56
- if (null !== ($v = $ this-><?php echo $ getter ; ?> () )) {
57
- $out->{self:: <?php echo $ propConst ; ?> } = $v ;
55
+ if (isset($ this-><?php echo $ property -> getName () ; ?> )) {
56
+ $out-><?php echo $ property -> getName () ; ?> = $this-> <?php echo $ property -> getName (); ?> ;
58
57
}
59
58
<?php endif ;
60
59
61
60
elseif ($ propertyType ->isValueContainer () || $ propertyType ->getKind () === TypeKindEnum::PRIMITIVE_CONTAINER || $ propertyType ->hasPrimitiveContainerParent ()) :
62
61
$ propTypeClassname = $ property ->getValueFHIRType ()->getClassName ();
63
62
64
63
if ($ property ->isCollection ()) : ?>
65
- if ([] !== ($vs = $ this-><?php echo $ getter ; ?> ()) ) {
64
+ if (isset($this-> <?php echo $ property -> getName (); ?> ) && [] !== $ this-><?php echo $ property -> getName () ; ?> ) {
66
65
$vals = [];
67
66
$exts = [];
68
- foreach ($vs as $v) {
69
- if (null === $v) {
70
- continue;
71
- }
67
+ foreach (<?php echo $ property ->getName (); ?> as $v) {
72
68
$val = $v->getValue();
73
69
$ext = $v->jsonSerialize();
74
- unset($ext->{ <?php echo $ propTypeClassname ; ?> ::FIELD_VALUE} );
70
+ unset($ext->value );
75
71
if (null !== $val) {
76
72
$vals[] = $val;
77
73
}
@@ -80,49 +76,44 @@ public function jsonSerialize(): mixed
80
76
}
81
77
}
82
78
if ([] !== $vals) {
83
- $out->{self:: <?php echo $ propConst ; ?> } = $vals;
79
+ $out-><?php echo $ property -> getName () ; ?> = $vals;
84
80
}
85
81
if (count((array)$ext) > 0) {
86
- $out->{self:: <?php echo $ propConstExt ; ?> } = $exts;
82
+ $out-><?php echo $ property -> getExtName () ; ?> = $exts;
87
83
}
88
84
}
89
85
<?php else : ?>
90
- if (null !== ($v = $ this-><?php echo $ getter ; ?> () )) {
91
- if (null !== ($val = $v ->getValue())) {
92
- $out->{self:: <?php echo $ propConst ; ?> } = $val;
86
+ if (isset($ this-><?php echo $ property -> getName () ; ?> )) {
87
+ if (null !== ($val = $this-> <?php echo $ property -> getName (); ?> ->getValue())) {
88
+ $out-><?php echo $ property -> getName () ; ?> = $val;
93
89
}
94
- $ext = $v ->jsonSerialize();
95
- unset($ext->{ <?php echo $ propTypeClassname ; ?> ::FIELD_VALUE} );
90
+ $ext = $this-> <?php echo $ property -> getName (); ?> ->jsonSerialize();
91
+ unset($ext->value );
96
92
if (count((array)$ext) > 0) {
97
- $out->{self:: <?php echo $ propConstExt ; ?> } = $ext;
93
+ $out-><?php echo $ property -> getExtName () ; ?> = $ext;
98
94
}
99
95
}
100
96
<?php endif ;
101
97
102
98
else :
103
99
if ($ property ->isCollection ()) : ?>
104
- if ([] !== ($vs = $this-><?php echo $ getter ; ?> ())) {
105
- $out->{self::<?php echo $ propConst ; ?> } = [];
106
- foreach($vs as $v) {
107
- $out->{self::<?php echo $ propConst ; ?> }[] = $v;
108
- }
100
+ if (isset($this-><?php echo $ property ->getName (); ?> ) && [] !== $this-><?php echo $ property ->getName (); ?> ) {
101
+ $out-><?php echo $ property ->getName (); ?> = $this-><?php echo $ property ->getName (); ?> ;
109
102
}
110
103
<?php else : ?>
111
- if (null !== ($v = $ this-><?php echo $ getter ; ?> () )) {
112
- $out->{self:: <?php echo $ propConst ; ?> } = $v ;
104
+ if (isset($ this-><?php echo $ property -> getName () ; ?> )) {
105
+ $out-><?php echo $ property -> getName () ; ?> = $this-> <?php echo $ property -> getName (); ?> ;
113
106
}
114
107
<?php endif ;
115
108
endif ;
116
109
endforeach ;
117
110
if ($ type ->isCommentContainer () && !$ type ->hasCommentContainerParent ()) : ?>
118
111
if ([] !== ($vs = $this->_getFHIRComments())) {
119
- $out->{ <?php echo PHPFHIR_CLASSNAME_CONSTANTS ; ?> ::JSON_FIELD_FHIR_COMMENTS} = $vs;
112
+ $out->fhir_comments = $vs;
120
113
}
121
- <?php endif ; ?>
122
-
123
- <?php if ($ type ->isContainedType ()) : ?>
124
- $out->{<?php echo PHPFHIR_CLASSNAME_CONSTANTS ; ?> ::JSON_FIELD_RESOURCE_TYPE} = $this->_getResourceType();
125
-
114
+ <?php endif ;
115
+ if ($ type ->isContainedType ()) : ?>
116
+ $out->resourceType = $this->_getResourceType();
126
117
<?php endif ; ?>
127
118
return $out;
128
119
}
0 commit comments