converter

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUndefinedFieldRequiredMode if returned when `field_required_mode` is invalid
	ErrUndefinedFieldRequiredMode = errors.New("`field_required_mode` is invalid")
)

Functions

This section is empty.

Types

type Converter

type Converter struct {
	Flags ConverterFlags
	// contains filtered or unexported fields
}

Converter is everything you need to convert protos to JSONSchemas:

func New

func New(logger *logrus.Logger) *Converter

New returns a configured *Converter (defaulting to draft-04 version):

func (*Converter) ConvertFrom

func (c *Converter) ConvertFrom(rd io.Reader) (*plugin.CodeGeneratorResponse, error)

ConvertFrom tells the convert to work on the given input:

type ConverterFlags

type ConverterFlags struct {
	AllFieldsRequired            bool
	AllowNullValues              bool
	DisallowAdditionalProperties bool
	DisallowBigIntsAsStrings     bool
	EnforceOneOf                 bool
	EnumsAsConstants             bool
	EnumsAsStringsOnly           bool
	EnumsTrimPrefix              bool
	KeepNewLinesInDescription    bool
	PrefixSchemaFilesWithPackage bool
	UseJSONFieldnamesOnly        bool
	UseProtoAndJSONFieldNames    bool
	FieldRequiredMode            FieldRequiredMode
	DisallowReferences           bool
	NonRequiredNullable          bool
	UseTypesArray                bool
	DisallowEmbeddedEnums        bool
}

ConverterFlags control the behaviour of the converter:

func DefaultConverterFlags

func DefaultConverterFlags() ConverterFlags

DefaultConverterFlags returns default converter flags

func (ConverterFlags) ValidateFieldRequiredMode

func (f ConverterFlags) ValidateFieldRequiredMode(value string) error

type Definitions added in v0.5.0

type Definitions map[string]*Type

Definitions defines a group of types by key

type FieldRequiredMode

type FieldRequiredMode string

FieldRequiredMode defines the way required fields are driven

const (
	// FieldRequiredModeProto ensures required fields are driven by Proto definitions
	FieldRequiredModeProto FieldRequiredMode = "proto"
	// FieldRequiredModeFieldOptions ensures required fields are driven by Field Custom Options
	FieldRequiredModeFieldOptions FieldRequiredMode = "field_options"
)

func (FieldRequiredMode) Is

func (m FieldRequiredMode) Is(modeProto FieldRequiredMode) bool

Is returns true if field required mode is equals

type ProtoPackage

type ProtoPackage struct {
	// contains filtered or unexported fields
}

ProtoPackage describes a package of Protobuf, which is an container of message types.

type Schema added in v0.5.0

type Schema struct {
	Type
	Definitions map[string]*Type
}

Schema defines a JSON schema

func (*Schema) MarshalJSON added in v0.5.0

func (s *Schema) MarshalJSON() ([]byte, error)

type Type added in v0.5.0

type Type struct {
	jsonschema.Type
	TypesArray []string `json:"type,omitempty"`
}

Type defines a JSON schema type

func (*Type) MarshalJSON added in v0.5.0

func (t *Type) MarshalJSON() ([]byte, error)

Jump to

Keyboard shortcuts

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