Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To review #1

Open
2 of 10 tasks
Mardoxx opened this issue Sep 1, 2017 · 0 comments
Open
2 of 10 tasks

To review #1

Mardoxx opened this issue Sep 1, 2017 · 0 comments
Assignees

Comments

@Mardoxx
Copy link
Owner

Mardoxx commented Sep 1, 2017

  • Make JsonMergePatchDocument<T> [DataContract] serializable

  • Remove default(T) for Value in JsonMergePatchValue<T>, make it throw if you try and access an undefined value

  • Model Validation
    On ApplyTo() or somehow on deserialization into JsonMergePatchDocument<T>
    The latter would likely be more desirable, and check validation properties on T

  • Json Converter
    I have no idea what I'm doing here

  • TTo .Apply<TTo>(TTo obj)
    Quickly hacked together, needs research

  • Review JsonMergePatchDocument<T>.KnownTypes
    Should [DataMember]s be on the interfaces?

  • IImmutableDictionary instead of IReadOnlyDictionary for Members?

  • Use custom type instead of KeyValuePair<string, IJsonMergePatchValue> for Members
    Looks a bit weird doing this patchValue.Value.Value
    Or if we have a nullable type, blah.Members(x => x.Key == "NullableType").Value.Value.Value - rather meaningless at first glance!

  • Ability to undefine a defined value on JsonMergePatchValue<T>
    Not sure about this

        public bool IsDefined
        {
            get => _isDefined;
            set
            {
                _isDefined = value;

                if (!_isDefined)
                {
                    _value = default(T);
                }
            }
        }

Should this be allowed?

  • Explain why it's called RJBM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant