Table of Contents

Namespace ShapeShift.Schema

Classes

ContractContext<TEncoder, TDecoder>

Provides the services a converter needs in order to describe its serialized form.

DataContract

Describes the serialized form of a .NET type in a format-neutral way.

DynamicContract

Describes a value whose structure is chosen at runtime rather than by its .NET type, such as ShapeShiftValue.

EnumContract

Describes an enum type.

EnumMemberContract

Describes one named member of an EnumContract.

MapContract

Describes a type that associates keys with values.

ObjectContract

Describes a type that is serialized as a map of named properties.

OptionalContract

Describes a type whose value may be absent, such as Nullable<T>.

PrimitiveContract

Describes a scalar value that ShapeShift encodes natively.

PropertyContract

Describes one named member of an ObjectContract.

RectangularArrayContract

Describes a multidimensional (rectangular) array.

SequenceContract

Describes a type that is serialized as a variable-length vector of homogeneous elements.

SurrogateContract

Describes a type that is serialized by first converting it to a surrogate type.

UndocumentedContract

Describes a value whose serialized representation is deliberately left unspecified.

UnionCaseContract

Describes one case of a UnionContract.

UnionContract

Describes a type with several known subtypes, each identified by a discriminator.

Enums

DataContractKind

Enumerates the kinds of DataContract that ShapeShift can describe.

MapEncoding

Enumerates the ways a MapContract may be encoded.

ObjectEncoding

Enumerates the ways an ObjectContract may be encoded.

PrimitiveDataType

Enumerates the scalar data types that ShapeShift knows how to encode natively.