const fragmentRune … // New creates a new reference for the given string func New(jsonReferenceString string) (Ref, error) { … } // MustCreateRef parses the ref string and panics when it's invalid. // Use the New method for a version that returns an error func MustCreateRef(ref string) Ref { … } type Ref … // GetURL gets the URL for this reference func (r *Ref) GetURL() *url.URL { … } // GetPointer gets the json pointer for this reference func (r *Ref) GetPointer() *jsonpointer.Pointer { … } // String returns the best version of the url for this reference func (r *Ref) String() string { … } // IsRoot returns true if this reference is a root document func (r *Ref) IsRoot() bool { … } // IsCanonical returns true when this pointer starts with http(s):// or file:// func (r *Ref) IsCanonical() bool { … } // "Constructor", parses the given string JSON reference func (r *Ref) parse(jsonReferenceString string) error { … } // Inherits creates a new reference from a parent and a child // If the child cannot inherit from the parent, an error is returned func (r *Ref) Inherits(child Ref) (*Ref, error) { … }