UnionRepresentationUnion

PackageReified.Schema

UnionRepresentation

UnionRepresentation is a complete, inspectable union wire representation. For a format not covered by a ready-made value in UnionRepresentations, construct one directly:

UnionRepresentation.Internal("kind")
UnionRepresentation.Adjacent("kind", "fields", UnionPayloadStyle.Named)
UnionRepresentation.External(UnionPayloadStyle.Named, true)
  • Internal tagField writes an internal tag inside the payload object, with named fields.
  • Adjacent (tagField, payloadField, payloadStyle) writes the tag beside a single payload member holding the fields.
  • External (payloadStyle, unwrapFieldless) writes a single-property object keyed by the case tag; unwrapFieldless encodes fieldless cases as bare strings.

Adjacent and external formats accept every UnionPayloadStyle. See UnionPayloadStyle for how each style shapes the payload, and Advanced Union Handling for the JSON each combination produces.

Specification

Kind
Union
Members
6
Examples
0
IsExternalSignature
this.IsExternal
IsInternalSignature
this.IsInternal
IsAdjacentSignature
this.IsAdjacent
InternalSignature
Internal tagField
AdjacentSignature
Adjacent(tagField, payloadField, payloadStyle)

Summary

NameSignatureSynopsis
Union cases
IsExternalthis.IsExternalNo description available.
IsInternalthis.IsInternalNo description available.
IsAdjacentthis.IsAdjacentNo description available.
InternalInternal tagFieldNo description available.
AdjacentAdjacent(tagField, payloadField, payloadStyle)No description available.
ExternalExternal(payloadStyle, unwrapFieldless)No description available.

Union cases

kind:member

IsExternal

this.IsExternal
Member

Returns

bool
kind:member

IsInternal

this.IsInternal
Member

Returns

bool
kind:member

IsAdjacent

this.IsAdjacent
Member

Returns

bool
kind:member

Internal

Internal tagField
Member

Parameters

NameTypeDescription
tagFieldstring

Returns

unit
kind:member

Adjacent

Adjacent(tagField, payloadField, payloadStyle)
Member

Parameters

NameTypeDescription
tagFieldstring
payloadFieldstring
payloadStyleUnionPayloadStyle

Returns

unit
kind:member

External

External(payloadStyle, unwrapFieldless)
Member

Parameters

NameTypeDescription
payloadStyleUnionPayloadStyle
unwrapFieldlessbool

Returns

unit