schema

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2024 License: MIT Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSON

type JSON struct {

	// JSON Metadata
	Description string `json:"description,omitempty"`

	// Type System
	Type string `json:"type,omitempty"` // Object / Array / String / Number / Integer / Boolean /

	// Combinators
	Properties           map[string]*JSON `json:"properties,omitempty"`           // for Object
	AdditionalProperties *JSON            `json:"additionalProperties,omitempty"` // for Map[string]someting...
	Items                *JSON            `json:"items,omitempty"`                // for Array

	// Validation
	Enum     []interface{} `json:"enum,omitempty"`
	Required []string      `json:"required,omitempty"`

	/// Number Validation
	Maximum          *float64 `json:"maximum,omitempty"`
	Minimum          *float64 `json:"minimum,omitempty"`
	ExclusiveMaximum *float64 `json:"exclusiveMaximum,omitempty"`
	ExclusiveMinimum *float64 `json:"exclusiveMinimum,omitempty"`

	/// String Validation
	MaxLength *int `json:"maxLength,omitempty"`
	MinLength *int `json:"minLength,omitempty"`

	// Array Validation
	MaxItems *int `json:"maxItems,omitempty"`
	MinItems *int `json:"minItems,omitempty"`
}

func New

func New(v interface{}) *JSON

New converts a struct to a JSON JSON using reflection and struct tags

func Of

func Of[T any]() *JSON

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL