Namespace ShapeShift
Classes
- ConverterCollection<TEncoder, TDecoder>
An immutable collection of converters.
- ConverterTypeCollection
An immutable collection of ShapeShiftConverter<T, TEncoder, TDecoder> types.
- DecoderException
The exception a decoder throws when its input is malformed.
- DecoderExtensions
Extension methods for IDecoder.
- PipeReaderExtensions
Extension methods for PipeReader that drive incremental, boundary-scanned value decoding.
- PipeWriterExtensions
Extension methods for PipeWriter.
- ShapeShiftArray
Represents a sequence of dynamic values.
- ShapeShiftBigInteger
Represents an arbitrary-precision integer value.
- ShapeShiftBinary
Represents a binary value.
- ShapeShiftBoolean
Represents a Boolean value.
- ShapeShiftConverterAttribute
A class applied to a custom data type to prescribe a custom ShapeShiftConverter<T, TEncoder, TDecoder> implementation to use for serialization.
- ShapeShiftDecimal
Represents a decimal value.
- ShapeShiftExtensionDataAttribute
Marks a Dictionary<TKey, TValue> of string to ShapeShiftValue that captures unknown properties and writes them back as peer properties.
- ShapeShiftFloat
Represents a floating-point value.
- ShapeShiftInteger
Represents a signed integer value.
- ShapeShiftMap
Represents a map whose keys are strings.
- ShapeShiftNamingPolicy
Defines a transformation for property names from .NET to msgpack.
- ShapeShiftNull
Represents a null value.
- ShapeShiftNumber
Represents any dynamic numeric value.
- ShapeShiftSerializationException
The exception thrown when a value cannot be serialized or deserialized.
- ShapeShiftSerializer<TEncoder, TDecoder>
A format-agnostic base class for serializers that use specific encoders and decoders.
- ShapeShiftString
Represents a string value.
- ShapeShiftUnsignedInteger
Represents an unsigned integer value.
- ShapeShiftValue
Represents a value in the format-neutral ShapeShift data model.
- UseComparerAttribute
Specifies a comparer to be used for the keyed collections on the decorated member.
Structs
- ConverterContext<TEncoder, TDecoder>
Context in which a IShapeShiftConverterFactory<TEncoder, TDecoder> is invoked.
- ConverterTypeCollection.ConverterType
A wrapper around Type that ensures a trimmed application will preserve the type's public constructors.
- ShapeShiftDocumentReader<T, TEncoder, TDecoder>
Enables incremental, low-allocation enumeration of a sequence of whole top-level values sharing one decoder, such as newline-delimited JSON (NDJSON) or a buffer containing several concatenated MessagePack values.
- ShapeShiftPath
Identifies the location of a value within a serialized document as a sequence of ShapeShiftPathElement steps, each of which is either a map property name or a vector index.
- ShapeShiftPathElement
Identifies a single step within a ShapeShiftPath: either the name of a map property, or the 0-based index of an element within a vector.
- ShapeShiftSequenceReader<T, TEncoder, TDecoder>
Enables incremental, low-allocation enumeration of the elements of a vector (a JSON array, or a MessagePack array), whether that vector is the root of a document, or is reached by first seeking into an enclosing document (for example with ShapeShiftPath).
- ShapeShiftSerializer<TEncoder, TDecoder>.DisposableSerializationContext
A wrapper around SerializationContext<TEncoder, TDecoder> that makes disposal easier.
Interfaces
- IDecoder
Reads the ShapeShift data model from one particular wire format.
- IEncoder
Writes the ShapeShift data model in one particular wire format.
- IReferencePreservingSerializer<TEncoder, TDecoder>
Implemented by a format's serializer when the format can represent a back-reference to an object it has already written.
- IShapeShiftConverterFactory<TEncoder, TDecoder>
A factory for ShapeShiftConverter<TEncoder, TDecoder> objects of arbitrary types.
- IShapeShiftSerializationCallbacks
An interface that may be implemented to receive callbacks before serialization and after deserialization.
- IValueBoundaryScanner
Locates the boundary of the next complete, self-delimited top-level value within a growing buffer, without fully parsing or converting it.
Enums
- DeserializeDefaultValuesPolicy
Specifies how missing and null values are handled during deserialization.
- ReferencePreservationMode
An enumeration of the modes supported for preserving references in serialized object graphs.
- SerializeDefaultValuesPolicy
Specifies which properties with default values are serialized.