Documentation ¶
Index ¶
- type AdditionalProperties
- func (ap *AdditionalProperties) HaveAdditionalProperties() bool
- func (ap *AdditionalProperties) IsFalse() bool
- func (ap *AdditionalProperties) IsSchema() bool
- func (ap *AdditionalProperties) MarshalJSON() ([]byte, error)
- func (ap *AdditionalProperties) NoAdditionalProperties() bool
- func (ap *AdditionalProperties) UnmarshalJSON(b []byte) error
- type Schema
- func (schema *Schema) IsRequired(propName string) bool
- func (schema *Schema) NoAdditionalProps() bool
- func (schema *Schema) SchemaType() Type
- func (schema *Schema) SinglePatternProp() *Schema
- func (schema *Schema) UnmarshalJSON(b []byte) error
- func (schema *Schema) UnwrapNullableSchema() (*Schema, bool)
- type Type
- type TypeSet
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdditionalProperties ¶
type AdditionalProperties struct { *Schema // contains filtered or unexported fields }
func AdditionalPropertiesBool ¶
func AdditionalPropertiesBool(b bool) AdditionalProperties
func (*AdditionalProperties) HaveAdditionalProperties ¶
func (ap *AdditionalProperties) HaveAdditionalProperties() bool
func (*AdditionalProperties) IsFalse ¶
func (ap *AdditionalProperties) IsFalse() bool
func (*AdditionalProperties) IsSchema ¶
func (ap *AdditionalProperties) IsSchema() bool
func (*AdditionalProperties) MarshalJSON ¶
func (ap *AdditionalProperties) MarshalJSON() ([]byte, error)
func (*AdditionalProperties) NoAdditionalProperties ¶
func (ap *AdditionalProperties) NoAdditionalProperties() bool
func (*AdditionalProperties) UnmarshalJSON ¶
func (ap *AdditionalProperties) UnmarshalJSON(b []byte) error
type Schema ¶
type Schema struct { // Core Schema string `json:"$schema"` Vocabulary map[string]bool `json:"$vocabulary"` ID string `json:"$id"` Ref string `json:"$ref"` DynamicRef string `json:"$dynamicRef"` Defs map[string]*Schema `json:"$defs"` Comment string `json:"$comment"` // Applying subschemas with logic AllOf []Schema `json:"allOf"` AnyOf []Schema `json:"anyOf"` OneOf []Schema `json:"oneOf"` Not []Schema `json:"not"` // Applying subschemas conditionally If *Schema `json:"if"` Then *Schema `json:"then"` Else *Schema `json:"else"` DependentSchemas map[string]Schema `json:"dependentSchemas"` // Applying subschemas to arrays PrefixItems []Schema `json:"prefixItems"` Items *Schema `json:"items"` Contains *Schema `json:"contains"` // Applying subschemas to objects Properties map[string]*Schema `json:"properties"` PatternProperties map[string]*Schema `json:"patternProperties"` AdditionalProperties *AdditionalProperties `json:"additionalProperties"` PropertyNames *Schema `json:"propertyNames"` // Validation Type TypeSet `json:"type"` Enum []interface{} `json:"enum"` Const interface{} `json:"const"` // Validation for numbers MultipleOf json.Number `json:"multipleOf"` Maximum json.Number `json:"maximum"` ExclusiveMaximum json.Number `json:"exclusiveMaximum"` Minimum json.Number `json:"minimum"` ExclusiveMinimum json.Number `json:"exclusiveMinimum"` // Validation for strings MaxLength int `json:"maxLength"` MinLength int `json:"minLength"` Pattern string `json:"pattern"` // Validation for arrays MaxItems int `json:"maxItems"` MinItems int `json:"minItems"` UniqueItems bool `json:"uniqueItems"` MaxContains int `json:"maxContains"` MinContains int `json:"minContains"` // Validation for objects MaxProperties int `json:"maxProperties"` MinProperties int `json:"minProperties"` Required []string `json:"required"` DependentRequired map[string][]string `json:"dependentRequired"` // Basic metadata annotations Title string `json:"title"` Description string `json:"description"` Default interface{} `json:"default"` Deprecated bool `json:"deprecated"` ReadOnly bool `json:"readOnly"` WriteOnly bool `json:"writeOnly"` Examples []interface{} `json:"examples"` }
func LoadSchema ¶
LoadSchema loads a schema from a JSON file. if input schema does not have $id, it will be set to the file URI.
func (*Schema) IsRequired ¶
func (*Schema) NoAdditionalProps ¶
func (*Schema) SchemaType ¶
func (*Schema) SinglePatternProp ¶
func (*Schema) UnmarshalJSON ¶
func (*Schema) UnwrapNullableSchema ¶
UnwrapNullableSchema unwraps a schema in the form:
{ "oneOf": { { "type": "null" }, <sub-schema> } }
or
{ "type": ["null", <sub-type>] }
Click to show internal directories.
Click to hide internal directories.