Esempio n. 1
0
 public CustomContractResolver(
     bool ignoreEmptyCollections,
     bool ignoreFalse,
     bool includeObsoletes,
     IReadOnlyDictionary <Type, List <string> > ignoredMembers,
     IReadOnlyList <string> ignoredByNameMembers,
     IReadOnlyList <Type> ignoredTypes,
     IReadOnlyList <Func <Exception, bool> > ignoreMembersThatThrow,
     IReadOnlyDictionary <Type, List <Func <object, bool> > > ignoredInstances,
     SharedScrubber scrubber)
 {
     Guard.AgainstNull(ignoredMembers, nameof(ignoredMembers));
     Guard.AgainstNull(ignoredTypes, nameof(ignoredTypes));
     Guard.AgainstNull(ignoreMembersThatThrow, nameof(ignoreMembersThatThrow));
     this.ignoreEmptyCollections = ignoreEmptyCollections;
     this.ignoreFalse            = ignoreFalse;
     this.includeObsoletes       = includeObsoletes;
     this.ignoredMembers         = ignoredMembers;
     this.ignoredByNameMembers   = ignoredByNameMembers;
     this.ignoredTypes           = ignoredTypes;
     this.ignoreMembersThatThrow = ignoreMembersThatThrow;
     this.ignoredInstances       = ignoredInstances;
     this.scrubber = scrubber;
     IgnoreSerializableInterface = true;
 }
Esempio n. 2
0
 public static void Init(
     Func <string, Exception> exceptionBuilder,
     Func <Guid, int> guidIntOrNext,
     Func <DateTime, int> dateTimeIntOrNext,
     Func <DateTimeOffset, int> dateTimeOffsetIntOrNext)
 {
     InnerVerifier.exceptionBuilder = exceptionBuilder;
     SharedScrubber.SetIntOrNext(guidIntOrNext, dateTimeIntOrNext, dateTimeOffsetIntOrNext);
 }
Esempio n. 3
0
        public JsonSerializerSettings BuildSettings()
        {
            #region defaultSerialization

            var settings = new JsonSerializerSettings
            {
                Formatting            = Formatting.Indented,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                DefaultValueHandling  = DefaultValueHandling.Ignore
            };

            #endregion

            settings.SerializationBinder = new ShortNameBinder();
            var scrubber = new SharedScrubber(scrubGuids, scrubInlineGuids, scrubDateTimes, settings);
            settings.ContractResolver = new CustomContractResolver(
                ignoreEmptyCollections,
                ignoreFalse,
                includeObsoletes,
                ignoredMembers,
                ignoredByNameMembers,
                ignoreMembersWithType,
                ignoreMembersThatThrow,
                ignoredInstances,
                scrubber);
            var converters = settings.Converters;
            converters.Add(new StringConverter(scrubber));
            converters.Add(new GuidConverter(scrubber));
            converters.Add(new DateTimeConverter(scrubber));
            converters.Add(new DateTimeOffsetConverter(scrubber));
            converters.Add(new StringEnumConverter());
            converters.Add(new ExpressionConverter());
            converters.Add(new DelegateConverter());
            converters.Add(new TypeJsonConverter());
            foreach (var extraSetting in ExtraSettings)
            {
                extraSetting(settings);
            }
            return(settings);
        }
Esempio n. 4
0
 public StringBuilderConverter(SharedScrubber sharedScrubber)
 {
     this.sharedScrubber = sharedScrubber;
 }
Esempio n. 5
0
 public DateTimeOffsetConverter(SharedScrubber scrubber)
 {
     this.scrubber = scrubber;
 }
Esempio n. 6
0
 public TextWriterConverter(SharedScrubber sharedScrubber)
 {
     this.sharedScrubber = sharedScrubber;
 }
Esempio n. 7
0
 public DateConverter(SharedScrubber scrubber)
 {
     this.scrubber = scrubber;
 }
Esempio n. 8
0
 public GuidConverter(SharedScrubber scrubber)
 {
     this.scrubber = scrubber;
 }