Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicatorMixin ¶
type ApplicatorMixin[S jsonschema.Keyword] struct { AllOf []S `json:"allOf,omitempty"` AnyOf []S `json:"anyOf,omitempty"` OneOf []S `json:"oneOf,omitempty"` If S `json:"if,omitempty"` Then S `json:"then,omitempty"` Else S `json:"else,omitempty"` Not S `json:"not,omitempty"` }
func (*ApplicatorMixin[S]) AppliesTo ¶
func (m *ApplicatorMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*ApplicatorMixin[S]) Kind ¶
func (m *ApplicatorMixin[S]) Kind() jsonschema.Kind
func (*ApplicatorMixin[S]) Validate ¶
func (m *ApplicatorMixin[S]) Validate(v interface{}) error
type ArrayMixin ¶
type ArrayMixin[S jsonschema.Keyword] struct { MaxItems int `json:"maxItems,omitempty" validate:"omitempty,gte=0"` MinItems int `json:"minItems,omitempty" validate:"omitempty,gte=0"` UniqueItems bool `json:"uniqueItems,omitempty"` PrefixItems []S `json:"prefixItems,omitempty"` Items *ser.Or[bool, S] `json:"items,omitempty"` Contains S `json:"contains,omitempty"` MaxContains int `json:"maxContains,omitempty" validate:"omitempty,gte=0"` MinContains *int `json:"minContains,omitempty" validate:"omitempty,gte=0"` }
func (*ArrayMixin[S]) AppliesTo ¶
func (m *ArrayMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*ArrayMixin[S]) Kind ¶
func (m *ArrayMixin[S]) Kind() jsonschema.Kind
func (*ArrayMixin[S]) Validate ¶
func (m *ArrayMixin[S]) Validate(v interface{}) error
type ContentMixin ¶
type ContentMixin[S jsonschema.Keyword] struct { ContentEncoding Encoding `json:"contentEncoding,omitempty"` ContentMediaType iana.MediaType `json:"contentMediaType,omitempty"` ContentSchema S `json:"contentSchema,omitempty"` }
func (*ContentMixin[S]) AppliesTo ¶
func (m *ContentMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*ContentMixin[S]) Kind ¶
func (m *ContentMixin[S]) Kind() jsonschema.Kind
func (*ContentMixin[S]) Validate ¶
func (m *ContentMixin[S]) Validate(v interface{}) error
type MetaDataMixin ¶
type MetaDataMixin struct { Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` Default interface{} `json:"default,omitempty"` Examples []interface{} `json:"examples,omitempty"` Deprecated bool `json:"deprecated,omitempty"` ReadOnly bool `json:"readOnly,omitempty"` WriteOnly bool `json:"writeOnly,omitempty"` }
func (*MetaDataMixin) AppliesTo ¶
func (m *MetaDataMixin) AppliesTo(t jsonschema.Type) bool
func (*MetaDataMixin) Kind ¶
func (m *MetaDataMixin) Kind() jsonschema.Kind
func (*MetaDataMixin) Validate ¶
func (m *MetaDataMixin) Validate(v interface{}) error
type MetaSchemaMixin ¶
type MetaSchemaMixin[S jsonschema.Keyword] struct { Schema string `json:"$schema,omitempty" validate:"omitempty,uri"` Id string `json:"$id,omitempty" validate:"omitempty,uri-reference"` Comments string `json:"$comments,omitempty"` Defs map[string]S `json:"$defs,omitempty" validate:"dive"` Anchor string `json:"$anchor,omitempty"` DynamicAnchor string `json:"$dynamicAnchor,omitempty"` Vocabulary map[string]bool `json:"$vocabulary,omitempty" validate:"dive,keys,uri-reference,endkeys"` }
func (*MetaSchemaMixin[S]) AppliesTo ¶
func (m *MetaSchemaMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*MetaSchemaMixin[S]) Kind ¶
func (m *MetaSchemaMixin[S]) Kind() jsonschema.Kind
func (*MetaSchemaMixin[S]) Validate ¶
func (m *MetaSchemaMixin[S]) Validate(v interface{}) error
type NumericMixin ¶
type NumericMixin struct { MultipleOf int `json:"multipleOf,omitempty" validate:"omitempty,gt=0"` Maximum int `json:"maximum,omitempty"` ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` Minimum int `json:"minimum,omitempty"` ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` }
func (*NumericMixin) AppliesTo ¶
func (m *NumericMixin) AppliesTo(t jsonschema.Type) bool
func (*NumericMixin) Kind ¶
func (m *NumericMixin) Kind() jsonschema.Kind
func (*NumericMixin) Validate ¶
func (m *NumericMixin) Validate(v interface{}) error
type ObjectMixin ¶
type ObjectMixin[S jsonschema.Keyword] struct { MaxProperties int `json:"maxProperties,omitempty" validate:"omitempty,gte=0"` MinProperties int `json:"minProperties,omitempty" validate:"omitempty,gte=0"` PropertyNames S `json:"propertyNames,omitempty" validate:"omitempty,dive"` Required []string `json:"required,omitempty" validate:"omitempty,min=1,unique"` Properties map[string]S `json:"properties,omitempty" validate:"dive"` PatternProperties map[string]S `json:"patternProperties,omitempty" validate:"dive,keys,regex,endkeys"` AdditionalProperties *ser.Or[bool, S] `json:"additionalProperties,omitempty"` }
func (*ObjectMixin[S]) AppliesTo ¶
func (m *ObjectMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*ObjectMixin[S]) Kind ¶
func (m *ObjectMixin[S]) Kind() jsonschema.Kind
func (*ObjectMixin[S]) Validate ¶
func (m *ObjectMixin[S]) Validate(v interface{}) error
type ReferenceMixin ¶
type ReferenceMixin[S any] struct { Ref string `json:"$ref,omitempty" validate:"uri-reference"` DynamicRef string `json:"$dynamicRef,omitempty" validate:"uri-reference"` // contains filtered or unexported fields }
func (*ReferenceMixin[S]) AppliesTo ¶
func (m *ReferenceMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*ReferenceMixin[S]) Kind ¶
func (m *ReferenceMixin[S]) Kind() jsonschema.Kind
func (*ReferenceMixin[S]) Resolve ¶
func (m *ReferenceMixin[S]) Resolve() S
func (*ReferenceMixin[S]) Validate ¶
func (m *ReferenceMixin[S]) Validate(v interface{}) error
func (*ReferenceMixin[S]) WithContext ¶
func (m *ReferenceMixin[S]) WithContext(ctx context.Context) *ReferenceMixin[S]
type Schema ¶
type Schema struct { MetaSchemaMixin[*Schema] ReferenceMixin[*Schema] MetaDataMixin ValidationMixin StringMixin NumericMixin ObjectMixin[*Schema] ArrayMixin[*Schema] UnevaluatedMixin[*Schema] ApplicatorMixin[*Schema] }
func (*Schema) Kind ¶
func (m *Schema) Kind() jsonschema.Kind
type StringMixin ¶
type StringMixin struct { MaxLength int `json:"maxLength,omitempty" validate:"omitempty,gte=0"` MinLength int `json:"minLength,omitempty" validate:"omitempty,gte=0"` Pattern string `json:"pattern,omitempty" validate:"regex"` }
func (*StringMixin) AppliesTo ¶
func (m *StringMixin) AppliesTo(t jsonschema.Type) bool
func (*StringMixin) Kind ¶
func (m *StringMixin) Kind() jsonschema.Kind
func (*StringMixin) Validate ¶
func (m *StringMixin) Validate(v interface{}) error
type UnevaluatedMixin ¶
type UnevaluatedMixin[S jsonschema.Keyword] struct { UnevaluatedItems *ser.Or[bool, S] `json:"unevaluatedItems,omitempty"` UnevaluatedProperties *ser.Or[bool, S] `json:"unevaluatedProperties,omitempty"` }
func (*UnevaluatedMixin[S]) AppliesTo ¶
func (m *UnevaluatedMixin[S]) AppliesTo(t jsonschema.Type) bool
func (*UnevaluatedMixin[S]) Kind ¶
func (m *UnevaluatedMixin[S]) Kind() jsonschema.Kind
func (*UnevaluatedMixin[S]) Validate ¶
func (m *UnevaluatedMixin[S]) Validate(v interface{}) error
type ValidationMixin ¶
type ValidationMixin struct { Type jsonschema.Type `json:"type,omitempty"` Format jsonschema.Format `json:"format,omitempty"` Enum []interface{} `json:"enum,omitempty"` Const interface{} `json:"const,omitempty"` }
func (*ValidationMixin) AppliesTo ¶
func (m *ValidationMixin) AppliesTo(t jsonschema.Type) bool
func (*ValidationMixin) Kind ¶
func (m *ValidationMixin) Kind() jsonschema.Kind
func (*ValidationMixin) Validate ¶
func (m *ValidationMixin) Validate(v interface{}) error
Click to show internal directories.
Click to hide internal directories.