@@ -76,7 +76,7 @@ public void WriteYaml(IEmitter emitter, object value, Type type, ObjectSerialize
7676 emitter . Emit ( new MappingStart ( AnchorName . Empty , TagName . Empty , true , mappingStyle ) ) ;
7777 foreach ( DictionaryEntry entry in hObj ) {
7878 if ( entry . Value == null ) {
79- if ( this . omitNullValues == true ) {
79+ if ( this . omitNullValues ) {
8080 continue ;
8181 }
8282 serializer ( entry . Key , entry . Key . GetType ( ) ) ;
@@ -87,10 +87,12 @@ public void WriteYaml(IEmitter emitter, object value, Type type, ObjectSerialize
8787 var objType = entry . Value . GetType ( ) ;
8888 var val = entry . Value ;
8989 if ( entry . Value is PSObject nestedObj ) {
90- var nestedType = nestedObj . BaseObject . GetType ( ) ;
91- if ( nestedType != typeof ( System . Management . Automation . PSCustomObject ) ) {
92- objType = nestedObj . BaseObject . GetType ( ) ;
93- val = nestedObj . BaseObject ;
90+ if ( nestedObj . BaseObject != null ) {
91+ var nestedType = nestedObj . BaseObject . GetType ( ) ;
92+ if ( nestedType != typeof ( System . Management . Automation . PSCustomObject ) ) {
93+ objType = nestedObj . BaseObject . GetType ( ) ;
94+ val = nestedObj . BaseObject ;
95+ }
9496 }
9597 serializer ( val , objType ) ;
9698 } else {
@@ -132,7 +134,7 @@ public void WriteYaml(IEmitter emitter, object value, Type type, ObjectSerialize
132134 emitter . Emit ( new MappingStart ( AnchorName . Empty , TagName . Empty , true , mappingStyle ) ) ;
133135 foreach ( var prop in psObj . Properties ) {
134136 if ( prop . Value == null ) {
135- if ( this . omitNullValues == true ) {
137+ if ( this . omitNullValues ) {
136138 continue ;
137139 }
138140 serializer ( prop . Name , prop . Name . GetType ( ) ) ;
@@ -142,10 +144,12 @@ public void WriteYaml(IEmitter emitter, object value, Type type, ObjectSerialize
142144 var objType = prop . Value . GetType ( ) ;
143145 var val = prop . Value ;
144146 if ( prop . Value is PSObject nestedPsObj ) {
145- var nestedType = nestedPsObj . BaseObject . GetType ( ) ;
146- if ( nestedType != typeof ( System . Management . Automation . PSCustomObject ) ) {
147- objType = nestedPsObj . BaseObject . GetType ( ) ;
148- val = nestedPsObj . BaseObject ;
147+ if ( nestedPsObj . BaseObject != null ) {
148+ var nestedType = nestedPsObj . BaseObject . GetType ( ) ;
149+ if ( nestedType != typeof ( System . Management . Automation . PSCustomObject ) ) {
150+ objType = nestedPsObj . BaseObject . GetType ( ) ;
151+ val = nestedPsObj . BaseObject ;
152+ }
149153 }
150154 }
151155 serializer ( val , objType ) ;
@@ -197,7 +201,7 @@ public override void Emit(MappingStartEventInfo eventInfo, IEmitter emitter) {
197201
198202 public override void Emit ( SequenceStartEventInfo eventInfo , IEmitter emitter ) {
199203 eventInfo . Style = SequenceStyle . Flow ;
200- nextEmitter . Emit ( eventInfo , emitter ) ;
204+ base . Emit ( eventInfo , emitter ) ;
201205 }
202206}
203207
@@ -206,19 +210,19 @@ public FlowStyleSequenceEmitter(IEventEmitter next): base(next) {}
206210
207211 public override void Emit ( SequenceStartEventInfo eventInfo , IEmitter emitter ) {
208212 eventInfo . Style = SequenceStyle . Flow ;
209- nextEmitter . Emit ( eventInfo , emitter ) ;
213+ base . Emit ( eventInfo , emitter ) ;
210214 }
211215}
212216
213- class BuilderUtils {
217+ public class BuilderUtils {
214218 public static SerializerBuilder BuildSerializer (
215219 SerializerBuilder builder ,
216220 bool omitNullValues = false ,
217221 bool useFlowStyle = false ,
218222 bool useSequenceFlowStyle = false ,
219223 bool jsonCompatible = false ) {
220224
221- if ( jsonCompatible == true ) {
225+ if ( jsonCompatible ) {
222226 useFlowStyle = true ;
223227 useSequenceFlowStyle = true ;
224228 }
@@ -228,14 +232,14 @@ public static SerializerBuilder BuildSerializer(
228232 . WithTypeConverter ( new BigIntegerTypeConverter ( ) )
229233 . WithTypeConverter ( new IDictionaryTypeConverter ( omitNullValues , useFlowStyle ) )
230234 . WithTypeConverter ( new PSObjectTypeConverter ( omitNullValues , useFlowStyle ) ) ;
231- if ( omitNullValues == true ) {
235+ if ( omitNullValues ) {
232236 builder = builder
233237 . WithEmissionPhaseObjectGraphVisitor ( args => new NullValueGraphVisitor ( args . InnerVisitor ) ) ;
234238 }
235- if ( useFlowStyle == true ) {
239+ if ( useFlowStyle ) {
236240 builder = builder . WithEventEmitter ( next => new FlowStyleAllEmitter ( next ) ) ;
237241 }
238- if ( useSequenceFlowStyle == true ) {
242+ if ( useSequenceFlowStyle ) {
239243 builder = builder . WithEventEmitter ( next => new FlowStyleSequenceEmitter ( next ) ) ;
240244 }
241245
0 commit comments