internal

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package internal exposes some cue internals to other packages.

A better name for this package would be technicaldebt.

Index

Constants

This section is empty.

Variables

View Source
var BaseContext = apd.BaseContext.WithPrecision(24)

BaseContext is used as CUEs default context for arbitrary-precision decimals

View Source
var CheckAndForkRuntime func(runtime, value interface{}) interface{}

CheckAndForkRuntime checks that value is created using runtime, panicking if it does not, and returns a forked runtime that will discard additional keys.

View Source
var DebugStr func(x interface{}) string

DebugStr prints a syntax node.

View Source
var DropOptional bool

DropOptional is a blanket override of handling optional values during compilation. TODO: should we make this a build option?

View Source
var EvalExpr func(value, expr interface{}) (result interface{})

EvalExpr evaluates an expression within an existing struct value. Identifiers only resolve to values defined within the struct.

Expressions may refer to builtin packages if they can be uniquely identified

Both value and result are of type cue.Value, but are an interface to prevent cyclic dependencies.

TODO: extract interface

View Source
var FromGoType func(instance, x interface{}) interface{}

FromGoType converts an arbitrary Go type to the corresponding CUE value. instance must be of type *cue.Instance. The returned value is a cue.Value, which the caller must cast to.

View Source
var FromGoValue func(instance, x interface{}, allowDefault bool) interface{}

FromGoValue converts an arbitrary Go value to the corresponding CUE value. instance must be of type *cue.Instance. The returned value is a cue.Value, which the caller must cast to.

View Source
var GetRuntime func(instance interface{}) interface{}

GetRuntime reports the runtime for an Instance.

View Source
var UnifyBuiltin func(v interface{}, kind string) interface{}

UnifyBuiltin returns the given Value unified with the given builtin template.

Functions

func LabelName added in v0.0.10

func LabelName(l ast.Label) (name string, ok bool)

LabelName reports the name of a label, if known, and whether it is valid.

func ListEllipsis added in v0.0.6

func ListEllipsis(n *ast.ListLit) (elts []ast.Expr, e *ast.Ellipsis)

ListEllipsis reports the list type and remaining elements of a list. If we ever relax the usage of ellipsis, this function will likely change. Using this function will ensure keeping correct behavior or causing a compiler failure.

func PackageInfo added in v0.0.6

func PackageInfo(f *ast.File) (p *ast.Package, name string, tok token.Pos)

Types

type Decimal added in v0.0.5

type Decimal = apd.Decimal

A Decimal is an arbitrary-precision binary-coded decimal number.

Right now Decimal is aliased to apd.Decimal. This may change in the future.

Directories

Path Synopsis
cmd
qgo
qgo builds CUE builtin packages from Go packages.
qgo builds CUE builtin packages from Go packages.
Package copy provides utilities to copy files and directories.
Package copy provides utilities to copy files and directories.
Package source contains utility functions that standardize reading source bytes across cue packages.
Package source contains utility functions that standardize reading source bytes across cue packages.
Package str provides string manipulation utilities.
Package str provides string manipulation utilities.
Package task provides a registry for tasks to be used by commands.
Package task provides a registry for tasks to be used by commands.
third_party
yaml
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.

Jump to

Keyboard shortcuts

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