Documentation ¶
Index ¶
Constants ¶
View Source
const Draft201909 = "http://json-schema.org/draft/2019-09/schema#"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArrayItem ¶
type ArrayItem struct { Items []JSONSchema `json:"items,omitempty"` Contains *JSONSchema `json:"contains,omitempty"` MinContains int64 `json:"minContains,omitempty"` MaxContains int64 `json:"maxContains,omitempty"` MinItems int64 `json:"minItems,omitempty"` MaxItems int64 `json:"maxItems,omitempty"` UniqueItems bool `json:"uniqueItems,omitempty"` }
ArrayItem -
type FormatKind ¶
type FormatKind string
FormatKind -
const ( FormatKindDateTime FormatKind = "date-time" FormatKindDate FormatKind = "date" FormatKindTime FormatKind = "time" FormatKindDuration FormatKind = "duration" FormatKindEmail FormatKind = "email" FormatKindIDNEmail FormatKind = "idn-email" FormatKindHostname FormatKind = "hostname" FormatKindIDNHostname FormatKind = "idn-hostname" FormatKindIPv4 FormatKind = "ipv4" FormatKindIPv6 FormatKind = "ipv6" FormatKindUUID FormatKind = "uuid" FormatKindURI FormatKind = "uri" FormatKindURIReference FormatKind = "uri-reference" FormatKindIRI FormatKind = "iri" FormatKindIRIReference FormatKind = "iri-reference" FormatKindURITemplate FormatKind = "uri-template" FormatKindRegex FormatKind = "regex" )
string format kinds
type JSONSchema ¶
type JSONSchema struct { Schema string `json:"$schema,omitempty"` ID string `json:"$id,omitempty"` Comment string `json:"$comment,omitempty"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` Default any `json:"default,omitempty"` Examples []any `json:"examples,omitempty"` Enum []any `json:"enum,omitempty"` InternalType string `json:"internal_type,omitempty"` Index int `json:"index,omitempty"` OneOf []*JSONSchema `json:"oneOf,omitempty"` AllOf []*JSONSchema `json:"allOf,omitempty"` AnyOf []*JSONSchema `json:"anyOf,omitempty"` Not *JSONSchema `json:"not,omitempty"` Type ItemType `json:"type"` StringItem NumberItem ObjectItem ArrayItem }
JSONSchema -
type NumberItem ¶
type NumberItem struct { MultipleOf int64 `json:"multipleOf,omitempty"` Minimum int64 `json:"minimum,omitempty"` ExclusiveMinimum int64 `json:"exclusiveMinimum,omitempty"` Maximum int64 `json:"maximum,omitempty"` ExclusiveMaximum int64 `json:"exclusiveMaximum,omitempty"` }
NumberItem -
type ObjectItem ¶
type ObjectItem struct { Properties map[string]JSONSchema `json:"properties,omitempty"` AdditionalProperties bool `json:"additionalProperties,omitempty"` Required []string `json:"required,omitempty"` MinProperties int64 `json:"minProperties,omitempty"` MaxProperties int64 `json:"maxProperties,omitempty"` }
ObjectItem -
type StringItem ¶
type StringItem struct { MinLength int64 `json:"minLength,omitempty"` MaxLength int64 `json:"maxLength,omitempty"` Pattern string `json:"pattern,omitempty"` Format FormatKind `json:"format,omitempty"` }
StringItem -
type Type ¶
type Type struct { Type string `json:"type"` Inputs *JSONSchema `json:"inputs,omitempty"` Outputs *JSONSchema `json:"outputs,omitempty"` Signature string `json:"signature"` }
Type -
Click to show internal directories.
Click to hide internal directories.