func FormatError(e *jsonschema.ValidationError) (string, string)
func FormatValidationErrorForCLI(w io.Writer, conf []byte, err error)
func JSONPointerToDotNotation(pointer string) (string, error)
JSONPointerToDotNotation converts JSON Pointer "#/foo/bar" to dot-notation "foo.bar".
Error represents a schema error.
type Error struct { // Type is the error type. Type ErrorType // DocumentPointer is the JSON Pointer in the document. DocumentPointer string // SchemaPointer is the JSON Pointer in the schema. SchemaPointer string // DocumentFieldName is a pointer to the document in dot-notation: fo.bar.baz DocumentFieldName string }
func NewFromSanthoshError(validationError jsonschema.ValidationError) *Error
NewFromSanthoshError converts github.com/santhosh-tekuri/jsonschema.ValidationError to Error.
ErrorType is the schema error type.
type ErrorType int
const ( // ErrorTypeMissing represents a validation that failed because a value is missing. ErrorTypeMissing ErrorType = iota + 1 )
Path represents a JSON Schema Path.
type Path struct { // Name is the JSON path name. Name string // Default is the default value of that path. Default interface{} // Type is a prototype (e.g. float64(0)) of the path type. Type interface{} TypeHint // Format is the format of the path if defined Format string // Pattern is the pattern of the path if defined Pattern *regexp.Regexp // Enum are the allowed enum values Enum []interface{} // first element in slice is constant value. note: slice is used to capture nil constant. Constant []interface{} // ReadOnly is whether the value is readonly ReadOnly bool // -1 if not specified MinLength int MaxLength int Minimum *big.Float Maximum *big.Float MultipleOf *big.Float CustomProperties map[string]interface{} }
func ListPaths(ref string, compiler *jsonschema.Compiler) ([]Path, error)
ListPaths lists all paths of a JSON Schema. Will return an error if circular references are found.
func ListPathsBytes(raw json.RawMessage, maxRecursion int16) ([]Path, error)
ListPathsBytes works like ListPathsWithRecursion but prepares the JSON Schema itself.
func ListPathsWithRecursion(ref string, compiler *jsonschema.Compiler, maxRecursion uint8) ([]Path, error)
ListPathsWithRecursion will follow circular references until maxRecursion is reached, without returning an error.
type PathEnhancer interface { EnhancePath(Path) map[string]interface{} }
type TypeHint int
const ( String TypeHint = iota + 1 Float Int Bool JSON Nil BoolSlice StringSlice IntSlice FloatSlice )