moonrockz/smithy-codec/contract does not have a README file
pub(all) suberror ContractError {
UnknownProfile(ProfileId)
UnknownBundle(BundleId)
InvalidTarget(ShapeId, String)
InvalidDeclaration(ShapeId, String)
UnsupportedDeclaration(ShapeId, String)
ConflictingDeclaration(ShapeId, String)
MissingAdapter(ShapeId, AdapterId)
PreparationLimit(ShapeId, String)
} derive(Debug)fn AdapterSignature::new(id : AdapterId, inputs~ : Array[JsonKind], output~ : JsonKind, orders_keys? : Bool) -> AdapterSignature raise IdentityErrorpub struct Form {
union_member : Int?
reader : ReaderGuard
binding : FormBinding
writer : WriterGuard?
} derive(Debug)pub struct ProfileDeclaration {
id : ProfileId
declared_on : ShapeId
rule_set : ProfileId
writer : WriterMode
unknown_members : UnknownMemberPolicy
requires : Array[String]
// private fields
}pub struct ReleaseBinding {
interval : ReleaseInterval
root : ShapeId
profiles : Array[ProfileId]
} derive(Debug)impl Show for ReleaseIntervalpub struct ShapeContract {
id : ShapeId
kind : ShapeKind
members : Array[MemberContract]
layout : ShapeLayout
accepts : Array[UnionLayout]
sparse : Bool
forms : Array[Form]
} derive(Debug)pub(all) enum ShapeKind {
StructureKind
UnionKind
ListKind
MapKind
SimpleKind(SimpleType)
EnumKind
IntEnumKind
} derive(Eq, Debug)pub(all) enum ShapeLayout {
ObjectStructure
TupleStructure(TupleLayout)
UnionShape(UnionLayout)
ListShape
Dictionary(DictionaryLayout)
Scalar(AdapterId?)
} derive(Debug)pub struct WireContract {
root : ShapeId
profile : ProfileId?
writer : WriterMode
unknown_members : UnknownMemberPolicy
fingerprint : String
shapes : Map[ShapeId, ShapeContract]
} derive(Debug)fn WireContract::prepare(model : Model, root : ShapeId, profile? : ProfileId?, adapters? : Array[AdapterSignature], max_shapes? : Int) -> WireContract raise ContractErrorfn trait_definitions() -> Stringlet trait_source : StringInstall
Download zipSchema-driven JSON codecs with declared serialization profiles for Smithy shapes