IJsonWritableProxy

Namespace: SnowBank.Data.Json · interface

Implements: IJsonSerializable, IJsonPackable

Wraps a JsonValue into a typed mutable proxy

Methods

Get

MutableJsonValue Get()

Returns the underlying mutable value

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

MutableJsonValue Get(string name)

Returns the value of the field with the specified name

  • name — Name of the field

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

MutableJsonValue Get(ReadOnlyMemory<char> name)

Returns the value of the field with the specified name

  • name — Name of the field

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

MutableJsonValue Get(int index)

Returns the value of the element at the specified location

  • index — Index of the item

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

MutableJsonValue Get(Index index)

Returns the value of the element at the specified location

  • index — Index of the item

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

MutableJsonValue Get(JsonPath path)

Returns the value of the child at the specified path

  • path — Path to the child

This value can be used to "escape" the type safety of the proxy, while still allowing for tracking of mutations.

GetContext

IMutableJsonContext GetContext()

Returns the (optional) tracking context attached to this instance

If non-null, this context will record all changed made to this instance, or any of its children

ToJsonValue

JsonValue ToJsonValue()

Returns the proxied JSON Value

The returned value may not be mutable and should only not be changed directly.

Any mutations made to this value will not be captured by the attached context!