Documentation
¶
Overview ¶
Package openapi provides functionality for mapping CUE to and from OpenAPI v3.0.0.
It currently handles OpenAPI Schema components only.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Extract ¶ added in v0.1.0
Extract converts OpenAPI definitions to an equivalent CUE representation.
It currently only converts entries in #/components/schema and extracts some meta data.
Types ¶
type Config ¶
type Config struct {
// PkgName defines to package name for a generated CUE package.
PkgName string
// Info specifies the info section of the OpenAPI document. To be a valid
// OpenAPI document, it must include at least the title and version fields.
// Info may be a *ast.StructLit or any type that marshals to JSON.
Info interface{}
// NameFunc allows users to specify an alternative representation
// for references. It is called with the value passed to the top level
// method or function and the path to the entity being generated.
// If it returns an empty string the generator will expand the type
// in place and, if applicable, not generate a schema for that entity.
//
// Note: this only returns the final element of the /-separated
// reference.
NameFunc func(val cue.Value, path cue.Path) string
// DescriptionFunc allows rewriting a description associated with a certain
// field. A typical implementation compiles the description from the
// comments obtains from the Doc method. No description field is added if
// the empty string is returned.
DescriptionFunc func(v cue.Value) string
// SelfContained causes all non-expanded external references to be included
// in this document.
SelfContained bool
// OpenAPI version to use. Supported as of v3.0.0.
Version string
// FieldFilter defines a regular expression of all fields to omit from the
// output. It is only allowed to filter fields that add additional
// constraints. Fields that indicate basic types cannot be removed. It is
// an error for such fields to be excluded by this filter.
// Fields are qualified by their Object type. For instance, the
// minimum field of the schema object is qualified as Schema/minimum.
FieldFilter string
// ExpandReferences replaces references with actual objects when generating
// OpenAPI Schema. It is an error for an CUE value to refer to itself
// if this option is used.
ExpandReferences bool
// StrictFeatures reports an error for features that are known
// to be unsupported.
StrictFeatures bool
// StrictKeywords reports an error when unknown keywords
// are encountered. For OpenAPI 3.0, this is implicitly always
// true, as that specification explicitly prohibits unknown keywords
// other than "x-" prefixed keywords.
StrictKeywords bool
}
A Config defines options for converting CUE to and from OpenAPI.
Click to show internal directories.
Click to hide internal directories.