encoding

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2022 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package encoding contains subpackages to convert CUE to and from byte-level and textual representations.

For some packages, CUE can be mapped to both concrete values and higher-level definitions. For instance, a Go value can be mapped based on its concrete values or on its underlying type. Similarly, the protobuf package can extract CUE definitions from .proto definitions files, but also convert proto messages to concrete values.

To clarify between these cases, we adopt the following naming convention:

Name        Direction   Level    Example
Decode      x -> CUE    Value    Convert an incoming proto message to CUE
Encode      CUE -> x    Value    Convert CUE to JSON
Extract     x -> CUE    Type     Extract CUE definition from .proto file
Generate    CUE -> x    Type     Generate OpenAPI definition from CUE

To be more precise, Decoders and Encoders deal with concrete values only.

Unmarshal and Marshal are used if the respective Decoder and Encoder decode and encode from and to a stream of bytes.

Directories

Path Synopsis
Package gocode defines functions for extracting CUE definitions from Go code and generating Go code from CUE values.
Package gocode defines functions for extracting CUE definitions from Go code and generating Go code from CUE values.
gocodec
Package codec converts Go to and from CUE and validates Go values based on CUE constraints.
Package codec converts Go to and from CUE and validates Go values based on CUE constraints.
Package json converts JSON to and from CUE.
Package json converts JSON to and from CUE.
Package jsonschema converts JSON Schema to CUE JSON Schema data is presented in CUE, so any of the supported encodings that can represent JSON Schema data can be used as a source.
Package jsonschema converts JSON Schema to CUE JSON Schema data is presented in CUE, so any of the supported encodings that can represent JSON Schema data can be used as a source.
Package openapi provides functionality for mapping CUE to and from OpenAPI v3.0.0.
Package openapi provides functionality for mapping CUE to and from OpenAPI v3.0.0.
Package protobuf defines functionality for parsing protocol buffer definitions and instances.
Package protobuf defines functionality for parsing protocol buffer definitions and instances.
jsonpb
Package jsonpb rewrites a CUE expression based upon the Protobuf interpretation of JSON.
Package jsonpb rewrites a CUE expression based upon the Protobuf interpretation of JSON.
textproto
Package textproto converts text protobuffer files to and from CUE.
Package textproto converts text protobuffer files to and from CUE.
Package yaml converts YAML encodings to and from CUE.
Package yaml converts YAML encodings to and from CUE.

Jump to

Keyboard shortcuts

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