type Schema … type TypeSpecifier … type TypeDef … type TypeRef … type Atom … type Scalar … const Numeric … const String … const Boolean … const Untyped … type ElementRelationship … const Associative … const Atomic … const Separable … type Map … // FindField is a convenience function that returns the referenced StructField, // if it exists, or (nil, false) if it doesn't. func (m *Map) FindField(name string) (StructField, bool) { … } // CopyInto this instance of Map into the other // If other is nil this method does nothing. // If other is already initialized, overwrites it with this instance // Warning: Not thread safe func (m *Map) CopyInto(dst *Map) { … } type UnionField … type Union … type StructField … type List … // FindNamedType is a convenience function that returns the referenced TypeDef, // if it exists, or (nil, false) if it doesn't. func (s *Schema) FindNamedType(name string) (TypeDef, bool) { … } func (s *Schema) resolveNoOverrides(tr TypeRef) (Atom, bool) { … } // Resolve is a convenience function which returns the atom referenced, whether // it is inline or named. Returns (Atom{}, false) if the type can't be resolved. // // This allows callers to not care about the difference between a (possibly // inlined) reference and a definition. func (s *Schema) Resolve(tr TypeRef) (Atom, bool) { … } // Clones this instance of Schema into the other // If other is nil this method does nothing. // If other is already initialized, overwrites it with this instance // Warning: Not thread safe func (s *Schema) CopyInto(dst *Schema) { … }