@@ -207,6 +207,15 @@ public string? Minimum
207207 /// <inheritdoc />
208208 public bool ? UniqueItems { get ; set ; }
209209
210+ /// <inheritdoc />
211+ public IOpenApiSchema ? Contains { get ; set ; }
212+
213+ /// <inheritdoc />
214+ public int ? MaxContains { get ; set ; }
215+
216+ /// <inheritdoc />
217+ public int ? MinContains { get ; set ; }
218+
210219 /// <inheritdoc />
211220 public IDictionary < string , IOpenApiSchema > ? Properties { get ; set ; }
212221
@@ -318,6 +327,9 @@ internal OpenApiSchema(IOpenApiSchema schema)
318327 MaxItems = schema . MaxItems ?? MaxItems ;
319328 MinItems = schema . MinItems ?? MinItems ;
320329 UniqueItems = schema . UniqueItems ?? UniqueItems ;
330+ Contains = schema . Contains ? . CreateShallowCopy ( ) ;
331+ MaxContains = schema . MaxContains ?? MaxContains ;
332+ MinContains = schema . MinContains ?? MinContains ;
321333 Properties = schema . Properties != null ? new Dictionary < string , IOpenApiSchema > ( schema . Properties ) : null ;
322334 PatternProperties = schema . PatternProperties != null ? new Dictionary < string , IOpenApiSchema > ( schema . PatternProperties ) : null ;
323335 MaxProperties = schema . MaxProperties ?? MaxProperties ;
@@ -630,6 +642,15 @@ internal void WriteJsonSchemaKeywords(IOpenApiWriter writer)
630642 writer . WriteOptionalCollection ( OpenApiConstants . Examples , Examples , ( nodeWriter , s ) => nodeWriter . WriteAny ( s ) ) ;
631643 writer . WriteOptionalMap ( OpenApiConstants . PatternProperties , PatternProperties , ( w , s ) => s . SerializeAsV31 ( w ) ) ;
632644 writer . WriteOptionalMap ( OpenApiConstants . DependentRequired , DependentRequired , ( w , s ) => w . WriteValue ( s ) ) ;
645+
646+ // contains
647+ writer . WriteOptionalObject ( OpenApiConstants . Contains , Contains , ( w , s ) => s . SerializeAsV31 ( w ) ) ;
648+
649+ // maxContains
650+ writer . WriteProperty ( OpenApiConstants . MaxContains , MaxContains ) ;
651+
652+ // minContains
653+ writer . WriteProperty ( OpenApiConstants . MinContains , MinContains ) ;
633654 }
634655
635656 internal void WriteAsItemsProperties ( IOpenApiWriter writer )
0 commit comments