Implementation
static final Map<ShapeId, TraitConstructor> serializers = {
// Core
AuthDefinitionTrait.id: AuthDefinitionTrait.fromJson,
AuthTrait.id: AuthTrait.fromJson,
BoxTrait.id: BoxTrait.fromJson,
ClientOptionalTrait.id: ClientOptionalTrait.fromJson,
CorsTrait.id: CorsTrait.fromJson,
DefaultTrait.id: DefaultTrait.fromJson,
DeprecatedTrait.id: DeprecatedTrait.fromJson,
DocumentationTrait.id: DocumentationTrait.fromJson,
EndpointTrait.id: EndpointTrait.fromJson,
EnumTrait.id: EnumTrait.fromJson,
EnumValueTrait.id: EnumValueTrait.fromJson,
ErrorTrait.id: ErrorTrait.fromJson,
EventHeaderTrait.id: EventHeaderTrait.fromJson,
EventPayloadTrait.id: EventPayloadTrait.fromJson,
ExamplesTrait.id: ExamplesTrait.fromJson,
ExternalDocumentationTrait.id: ExternalDocumentationTrait.fromJson,
HostLabelTrait.id: HostLabelTrait.fromJson,
HttpApiKeyAuthTrait.id: HttpApiKeyAuthTrait.fromJson,
HttpBasicAuthTrait.id: HttpBasicAuthTrait.fromJson,
HttpBearerAuthTrait.id: HttpBearerAuthTrait.fromJson,
HttpChecksumRequiredTrait.id: HttpChecksumRequiredTrait.fromJson,
HttpDigestAuthTrait.id: HttpDigestAuthTrait.fromJson,
HttpErrorTrait.id: HttpErrorTrait.fromJson,
HttpHeaderTrait.id: HttpHeaderTrait.fromJson,
HttpLabelTrait.id: HttpLabelTrait.fromJson,
HttpPayloadTrait.id: HttpPayloadTrait.fromJson,
HttpPrefixHeadersTrait.id: HttpPrefixHeadersTrait.fromJson,
HttpQueryParamsTrait.id: HttpQueryParamsTrait.fromJson,
HttpQueryTrait.id: HttpQueryTrait.fromJson,
HttpResponseCodeTrait.id: HttpResponseCodeTrait.fromJson,
HttpTrait.id: HttpTrait.fromJson,
IdRefTrait.id: IdRefTrait.fromJson,
IdempotencyTokenTrait.id: IdempotencyTokenTrait.fromJson,
IdempotentTrait.id: IdempotentTrait.fromJson,
InputTrait.id: InputTrait.fromJson,
InternalTrait.id: InternalTrait.fromJson,
JsonNameTrait.id: JsonNameTrait.fromJson,
LengthTrait.id: LengthTrait.fromJson,
MediaTypeTrait.id: MediaTypeTrait.fromJson,
NoReplaceTrait.id: NoReplaceTrait.fromJson,
OptionalAuthTrait.id: OptionalAuthTrait.fromJson,
OutputTrait.id: OutputTrait.fromJson,
PaginatedTrait.id: PaginatedTrait.fromJson,
PatternTrait.id: PatternTrait.fromJson,
PrivateTrait.id: PrivateTrait.fromJson,
ProtocolDefinitionTrait.id: ProtocolDefinitionTrait.fromJson,
RangeTrait.id: RangeTrait.fromJson,
ReadonlyTrait.id: ReadonlyTrait.fromJson,
RecommendedTrait.id: RecommendedTrait.fromJson,
ReferencesTrait.id: ReferencesTrait.fromJson,
RequiredTrait.id: RequiredTrait.fromJson,
RequiresLengthTrait.id: RequiresLengthTrait.fromJson,
ResourceIdentifierTrait.id: ResourceIdentifierTrait.fromJson,
RetryableTrait.id: RetryableTrait.fromJson,
SensitiveTrait.id: SensitiveTrait.fromJson,
SinceTrait.id: SinceTrait.fromJson,
SparseTrait.id: SparseTrait.fromJson,
StreamingTrait.id: StreamingTrait.fromJson,
SuppressTrait.id: SuppressTrait.fromJson,
TagsTrait.id: TagsTrait.fromJson,
TimestampFormatTrait.id: TimestampFormatTrait.fromJson,
TitleTrait.id: TitleTrait.fromJson,
UniqueItemsTrait.id: UniqueItemsTrait.fromJson,
UnitTypeTrait.id: UnitTypeTrait.fromJson,
UnstableTrait.id: UnstableTrait.fromJson,
WaitableTrait.id: WaitableTrait.fromJson,
XmlAttributeTrait.id: XmlAttributeTrait.fromJson,
XmlFlattenedTrait.id: XmlFlattenedTrait.fromJson,
XmlNameTrait.id: XmlNameTrait.fromJson,
XmlNamespaceTrait.id: XmlNamespaceTrait.fromJson,
// AWS
ArnReferenceTrait.id: ArnReferenceTrait.fromJson,
ArnTrait.id: ArnTrait.fromJson,
ControlPlaneTrait.id: ControlPlaneTrait.fromJson,
DataTrait.id: DataTrait.fromJson,
HttpChecksumTrait.id: HttpChecksumTrait.fromJson,
ServiceTrait.id: ServiceTrait.fromJson,
CognitoUserPoolsTrait.id: CognitoUserPoolsTrait.fromJson,
SigV4Trait.id: SigV4Trait.fromJson,
UnsignedPayloadTrait.id: UnsignedPayloadTrait.fromJson,
ClientDiscoveredEndpointTrait.id: ClientDiscoveredEndpointTrait.fromJson,
ClientEndpointDiscoveryIdTrait.id: ClientEndpointDiscoveryIdTrait.fromJson,
ClientEndpointDiscoveryTrait.id: ClientEndpointDiscoveryTrait.fromJson,
AwsJson1_0Trait.id: AwsJson1_0Trait.fromJson,
AwsJson1_1Trait.id: AwsJson1_1Trait.fromJson,
AwsQueryTrait.id: AwsQueryTrait.fromJson,
AwsQueryErrorTrait.id: AwsQueryErrorTrait.fromJson,
AwsQueryCompatibleTrait.id: AwsQueryCompatibleTrait.fromJson,
Ec2QueryTrait.id: Ec2QueryTrait.fromJson,
Ec2QueryNameTrait.id: Ec2QueryNameTrait.fromJson,
RestJson1Trait.id: RestJson1Trait.fromJson,
RestXmlTrait.id: RestXmlTrait.fromJson,
S3UnwrappedXmlOutputTrait.id: S3UnwrappedXmlOutputTrait.fromJson,
// Protocol Tests
HttpMalformedRequestTestsTrait.id: HttpMalformedRequestTestsTrait.fromJson,
HttpRequestTestsTrait.id: HttpRequestTestsTrait.fromJson,
HttpResponseTestsTrait.id: HttpResponseTestsTrait.fromJson,
};