mirror of
https://github.com/moby/moby.git
synced 2026-08-04 15:11:00 +00:00
22 lines
742 B
Go
22 lines
742 B
Go
package smithy
|
|
|
|
// Trait represents a trait applied to a shape in a Smithy model. Traits
|
|
// related to (de)serialization are included in code-generated Schemas for the
|
|
// client.
|
|
type Trait interface {
|
|
TraitID() ShapeID
|
|
}
|
|
|
|
// IndexableTrait is optionally implemented by Trait values that have a
|
|
// reserved index in Schema's indexed trait slice. All traits defined in the
|
|
// traits package implement this interface.
|
|
//
|
|
// You SHOULD NOT implement this outside of a smithy-go trait unless you know
|
|
// what you are doing. If you implement this and return a value that collides
|
|
// with one of the primary serde-based indexed traits (see index.go) you will
|
|
// probably break something.
|
|
type IndexableTrait interface {
|
|
Trait
|
|
TraitIndex() int
|
|
}
|