@@ -401,5 +401,75 @@ public HyperionSerializerSettings(
401
401
DisallowUnsafeType = disallowUnsafeType ;
402
402
TypeFilter = typeFilter ;
403
403
}
404
+
405
+ public HyperionSerializerSettings WithPreserveObjectReference ( bool preserveObjectReferences )
406
+ => new HyperionSerializerSettings (
407
+ preserveObjectReferences : preserveObjectReferences ,
408
+ versionTolerance : VersionTolerance ,
409
+ knownTypesProvider : KnownTypesProvider ,
410
+ packageNameOverrides : PackageNameOverrides ,
411
+ surrogates : Surrogates ,
412
+ disallowUnsafeType : DisallowUnsafeType ,
413
+ typeFilter : TypeFilter ) ;
414
+
415
+ public HyperionSerializerSettings WithVersionTolerance ( bool versionTolerance )
416
+ => new HyperionSerializerSettings (
417
+ preserveObjectReferences : PreserveObjectReferences ,
418
+ versionTolerance : versionTolerance ,
419
+ knownTypesProvider : KnownTypesProvider ,
420
+ packageNameOverrides : PackageNameOverrides ,
421
+ surrogates : Surrogates ,
422
+ disallowUnsafeType : DisallowUnsafeType ,
423
+ typeFilter : TypeFilter ) ;
424
+
425
+ public HyperionSerializerSettings WithKnownTypesProvider ( Type knownTypesProvider )
426
+ => new HyperionSerializerSettings (
427
+ preserveObjectReferences : PreserveObjectReferences ,
428
+ versionTolerance : VersionTolerance ,
429
+ knownTypesProvider : knownTypesProvider ,
430
+ packageNameOverrides : PackageNameOverrides ,
431
+ surrogates : Surrogates ,
432
+ disallowUnsafeType : DisallowUnsafeType ,
433
+ typeFilter : TypeFilter ) ;
434
+
435
+ public HyperionSerializerSettings WithPackageNameOverrides ( IEnumerable < Func < string , string > > packageNameOverrides )
436
+ => new HyperionSerializerSettings (
437
+ preserveObjectReferences : PreserveObjectReferences ,
438
+ versionTolerance : VersionTolerance ,
439
+ knownTypesProvider : KnownTypesProvider ,
440
+ packageNameOverrides : packageNameOverrides ,
441
+ surrogates : Surrogates ,
442
+ disallowUnsafeType : DisallowUnsafeType ,
443
+ typeFilter : TypeFilter ) ;
444
+
445
+ public HyperionSerializerSettings WithSurrogates ( IEnumerable < Surrogate > surrogates )
446
+ => new HyperionSerializerSettings (
447
+ preserveObjectReferences : PreserveObjectReferences ,
448
+ versionTolerance : VersionTolerance ,
449
+ knownTypesProvider : KnownTypesProvider ,
450
+ packageNameOverrides : PackageNameOverrides ,
451
+ surrogates : surrogates ,
452
+ disallowUnsafeType : DisallowUnsafeType ,
453
+ typeFilter : TypeFilter ) ;
454
+
455
+ public HyperionSerializerSettings WithDisallowUnsafeType ( bool disallowUnsafeType )
456
+ => new HyperionSerializerSettings (
457
+ preserveObjectReferences : PreserveObjectReferences ,
458
+ versionTolerance : VersionTolerance ,
459
+ knownTypesProvider : KnownTypesProvider ,
460
+ packageNameOverrides : PackageNameOverrides ,
461
+ surrogates : Surrogates ,
462
+ disallowUnsafeType : disallowUnsafeType ,
463
+ typeFilter : TypeFilter ) ;
464
+
465
+ public HyperionSerializerSettings WithTypeFilter ( ITypeFilter typeFilter )
466
+ => new HyperionSerializerSettings (
467
+ preserveObjectReferences : PreserveObjectReferences ,
468
+ versionTolerance : VersionTolerance ,
469
+ knownTypesProvider : KnownTypesProvider ,
470
+ packageNameOverrides : PackageNameOverrides ,
471
+ surrogates : Surrogates ,
472
+ disallowUnsafeType : DisallowUnsafeType ,
473
+ typeFilter : typeFilter ) ;
404
474
}
405
475
}
0 commit comments