@@ -119,8 +119,8 @@ public override void Emit(ScalarEventInfo eventInfo, IEmitter emitter) {
119119 }
120120}
121121
122- public class FlowStyleEmitter : ChainedEventEmitter {
123- public FlowStyleEmitter ( IEventEmitter next ) : base ( next ) { }
122+ public class FlowStyleAllEmitter : ChainedEventEmitter {
123+ public FlowStyleAllEmitter ( IEventEmitter next ) : base ( next ) { }
124124
125125 public override void Emit ( MappingStartEventInfo eventInfo , IEmitter emitter ) {
126126 eventInfo . Style = MappingStyle . Flow ;
@@ -133,8 +133,21 @@ public override void Emit(SequenceStartEventInfo eventInfo, IEmitter emitter){
133133 }
134134}
135135
136+ public class FlowStyleSequenceEmitter : ChainedEventEmitter {
137+ public FlowStyleSequenceEmitter ( IEventEmitter next ) : base ( next ) { }
138+
139+ public override void Emit ( SequenceStartEventInfo eventInfo , IEmitter emitter ) {
140+ eventInfo . Style = SequenceStyle . Flow ;
141+ nextEmitter . Emit ( eventInfo , emitter ) ;
142+ }
143+ }
144+
136145class BuilderUtils {
137- public static SerializerBuilder BuildSerializer ( SerializerBuilder builder , bool omitNullValues = false , bool useFlowStyle = false ) {
146+ public static SerializerBuilder BuildSerializer (
147+ SerializerBuilder builder ,
148+ bool omitNullValues = false ,
149+ bool useFlowStyle = false ,
150+ bool useSequenceFlowStyle = false ) {
138151 builder = builder
139152 . WithEventEmitter ( next => new StringQuotingEmitter ( next ) )
140153 . WithTypeConverter ( new BigIntegerTypeConverter ( ) )
@@ -144,8 +157,12 @@ public static SerializerBuilder BuildSerializer(SerializerBuilder builder, bool
144157 . WithEmissionPhaseObjectGraphVisitor ( args => new NullValueGraphVisitor ( args . InnerVisitor ) ) ;
145158 }
146159 if ( useFlowStyle == true ) {
147- builder = builder . WithEventEmitter ( next => new FlowStyleEmitter ( next ) ) ;
160+ builder = builder . WithEventEmitter ( next => new FlowStyleAllEmitter ( next ) ) ;
148161 }
162+ if ( useSequenceFlowStyle == true ) {
163+ builder = builder . WithEventEmitter ( next => new FlowStyleSequenceEmitter ( next ) ) ;
164+ }
165+
149166 return builder ;
150167 }
151168}
0 commit comments