Documentation ¶
Index ¶
Constants ¶
View Source
const ( STRING_NUMBER = "number" STRING_ARRAY_OF_STRINGS = "array of strings" STRING_ARRAY_OF_SCHEMAS = "array of schemas" STRING_SCHEMA = "schema" STRING_SCHEMA_OR_ARRAY_OF_STRINGS = "schema or array of strings" STRING_PROPERTIES = "properties" STRING_DEPENDENCY = "dependency" STRING_PROPERTY = "property" STRING_CONTEXT_ROOT = "(root)" STRING_ROOT_SCHEMA_PROPERTY = "(root)" STRING_UNDEFINED = "undefined" ERROR_MESSAGE_X_IS_NOT_A_VALID_TYPE = `%s is not a valid type` ERROR_MESSAGE_X_TYPE_IS_DUPLICATED = `%s type is duplicated` ERROR_MESSAGE_X_MUST_BE_OF_TYPE_Y = `%s must be of type %s` ERROR_MESSAGE_X_MUST_BE_A_Y = `%s must be of a %s` ERROR_MESSAGE_X_MUST_BE_AN_Y = `%s must be of an %s` ERROR_MESSAGE_X_IS_MISSING_AND_REQUIRED = `%s is missing and required` ERROR_MESSAGE_MUST_BE_OF_TYPE_X = `must be of type %s` ERROR_MESSAGE_X_ITEMS_MUST_BE_UNIQUE = `%s items must be unique` ERROR_MESSAGE_X_ITEMS_MUST_BE_TYPE_Y = `%s items must be %s` ERROR_MESSAGE_DOES_NOT_MATCH_PATTERN = `does not match pattern '%s'` ERROR_MESSAGE_MUST_MATCH_ONE_ENUM_VALUES = `must match one of the enum values [%s]` ERROR_MESSAGE_STRING_LENGTH_MUST_BE_GREATER_OR_EQUAL = `string length must be greater or equal to %d` ERROR_MESSAGE_STRING_LENGTH_MUST_BE_LOWER_OR_EQUAL = `string length must be lower or equal to %d` ERROR_MESSAGE_NUMBER_MUST_BE_LOWER_OR_EQUAL = `must be lower than or equal to %s` ERROR_MESSAGE_NUMBER_MUST_BE_LOWER = `must be lower than %s` ERROR_MESSAGE_NUMBER_MUST_BE_GREATER_OR_EQUAL = `must be greater than or equal to %s` ERROR_MESSAGE_NUMBER_MUST_BE_GREATER = `must be greater than %s` ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ALLOF = `must validate all the schemas (allOf)` ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ONEOF = `must validate one and only one schema (oneOf)` ERROR_MESSAGE_NUMBER_MUST_VALIDATE_ANYOF = `must validate at least one schema (anyOf)` ERROR_MESSAGE_NUMBER_MUST_VALIDATE_NOT = `must not validate the schema (not)` ERROR_MESSAGE_ARRAY_MIN_ITEMS = `array must have at least %d items` ERROR_MESSAGE_ARRAY_MAX_ITEMS = `array must have at the most %d items` ERROR_MESSAGE_ARRAY_MIN_PROPERTIES = `must have at least %d properties` ERROR_MESSAGE_ARRAY_MAX_PROPERTIES = `must have at the most %d properties` ERROR_MESSAGE_HAS_DEPENDENCY_ON = `has a dependency on %s` ERROR_MESSAGE_MULTIPLE_OF = `must be a multiple of %s` ERROR_MESSAGE_ARRAY_NO_ADDITIONAL_ITEM = `no additional item allowed on array` ERROR_MESSAGE_ADDITIONAL_PROPERTY_NOT_ALLOWED = `additional property "%s" is not allowed` ERROR_MESSAGE_INVALID_PATTERN_PROPERTY = `property "%s" does not match pattern %s` ERROR_MESSAGE_INTERNAL = `internal error %s` ERROR_MESSAGE_GET_HTTP_BAD_STATUS = `Could not read schema from HTTP, response status is %d` ERROR_MESSAGE_NEW_SCHEMA_DOCUMENT_INVALID_ARGUMENT = `Invalid argument, must be a JSON string, a JSON reference string or a map[string]interface{}` ERROR_MESSAGE_INVALID_REGEX_PATTERN = `Invalid regex pattern '%s'` ERROR_MESSAGE_X_MUST_BE_VALID_REGEX = `%s must be a valid regex` ERROR_MESSAGE_X_MUST_BE_GREATER_OR_TO_0 = `%s must be greater than or equal to 0` ERROR_MESSAGE_X_CANNOT_BE_GREATER_THAN_Y = `%s cannot be greater than %s` ERROR_MESSAGE_X_MUST_BE_STRICTLY_GREATER_THAN_0 = `%s must be strictly greater than 0` ERROR_MESSAGE_X_CANNOT_BE_USED_WITHOUT_Y = `%s cannot be used without %s` ERROR_MESSAGE_REFERENCE_X_MUST_BE_CANONICAL = `Reference %s must be canonical` RESULT_ERROR_FORMAT = `%s : %s, given %s` // context, description, value )
View Source
const ( KEY_SCHEMA = "$subSchema" KEY_ID = "$id" KEY_REF = "$ref" KEY_TITLE = "title" KEY_DESCRIPTION = "description" KEY_TYPE = "type" KEY_ITEMS = "items" KEY_ADDITIONAL_ITEMS = "additionalItems" KEY_PROPERTIES = "properties" KEY_PATTERN_PROPERTIES = "patternProperties" KEY_ADDITIONAL_PROPERTIES = "additionalProperties" KEY_DEFINITIONS = "definitions" KEY_MULTIPLE_OF = "multipleOf" KEY_MINIMUM = "minimum" KEY_MAXIMUM = "maximum" KEY_EXCLUSIVE_MINIMUM = "exclusiveMinimum" KEY_EXCLUSIVE_MAXIMUM = "exclusiveMaximum" KEY_MIN_LENGTH = "minLength" KEY_MAX_LENGTH = "maxLength" KEY_PATTERN = "pattern" KEY_MIN_PROPERTIES = "minProperties" KEY_MAX_PROPERTIES = "maxProperties" KEY_DEPENDENCIES = "dependencies" KEY_REQUIRED = "required" KEY_MIN_ITEMS = "minItems" KEY_MAX_ITEMS = "maxItems" KEY_UNIQUE_ITEMS = "uniqueItems" KEY_ENUM = "enum" KEY_ONE_OF = "oneOf" KEY_ANY_OF = "anyOf" KEY_ALL_OF = "allOf" KEY_NOT = "not" )
View Source
const ( TYPE_ARRAY = `array` TYPE_BOOLEAN = `boolean` TYPE_INTEGER = `integer` TYPE_NUMBER = `number` TYPE_NULL = `null` TYPE_OBJECT = `object` TYPE_STRING = `string` )
Variables ¶
View Source
var JSON_TYPES []string
View Source
var SCHEMA_TYPES []string
Functions ¶
func NewGoLoader ¶
func NewGoLoader(source interface{}) *jsonGoLoader
func NewReferenceLoader ¶
func NewReferenceLoader(source string) *jsonReferenceLoader
func NewStringLoader ¶
func NewStringLoader(source string) *jsonStringLoader
Types ¶
type JSONLoader ¶
type JSONLoader interface {
// contains filtered or unexported methods
}
type Result ¶
type Result struct {
// contains filtered or unexported fields
}
func Validate ¶
func Validate(ls JSONLoader, ld JSONLoader) (*Result, error)
func (*Result) Errors ¶
func (v *Result) Errors() []ResultError
type ResultError ¶
type ResultError struct { Context *jsonContext // Tree like notation of the part that failed the validation. ex (root).a.b ... Description string // A human readable error message Value interface{} // Value given by the JSON file that is the source of the error }
func (ResultError) String ¶
func (v ResultError) String() string
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
func NewSchema ¶
func NewSchema(l JSONLoader) (*Schema, error)
func (*Schema) SetRootSchemaName ¶
Click to show internal directories.
Click to hide internal directories.