pkg

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(importPath string, p *Package)

func ToBuiltin

func ToBuiltin(b *Builtin) *adt.Builtin

ToBuiltin converts a Builtin into an adt.Builtin.

Types

type Bottomer

type Bottomer interface {
	error
	Bottom() *adt.Bottom
}

type Builtin

type Builtin struct {
	Name        string
	Pkg         adt.Feature
	Params      []Param
	Result      adt.Kind
	NonConcrete bool
	Func        func(c *CallCtxt)
	Const       string
}

A Builtin is a Builtin function or constant.

A function may return and a constant may be any of the following types:

error (translates to bottom)
nil   (translates to null)
bool
int*
uint*
float64
string
*big.Float
*big.Int

For any of the above, including interface{} and these types recursively:
[]T
map[string]T

type CallCtxt

type CallCtxt struct {
	Err interface{}
	Ret interface{}
	// contains filtered or unexported fields
}

CallCtxt is passed to builtin implementations that need to use a cue.Value. This is an internal type. Its interface may change.

func (*CallCtxt) BigFloat

func (c *CallCtxt) BigFloat(i int) *big.Float

func (*CallCtxt) BigInt

func (c *CallCtxt) BigInt(i int) *big.Int

func (*CallCtxt) Bool

func (c *CallCtxt) Bool(i int) bool

func (*CallCtxt) Byte

func (c *CallCtxt) Byte(i int) uint8

func (*CallCtxt) Bytes

func (c *CallCtxt) Bytes(i int) []byte

func (*CallCtxt) CueList

func (c *CallCtxt) CueList(i int) List

func (*CallCtxt) Decimal

func (c *CallCtxt) Decimal(i int) *apd.Decimal

func (*CallCtxt) DecimalList

func (c *CallCtxt) DecimalList(i int) (a []*apd.Decimal)

func (*CallCtxt) Do

func (c *CallCtxt) Do() bool

Do returns whether the call should be done.

func (*CallCtxt) Float64

func (c *CallCtxt) Float64(i int) float64

func (*CallCtxt) Int

func (c *CallCtxt) Int(i int) int

func (*CallCtxt) Int16

func (c *CallCtxt) Int16(i int) int16

func (*CallCtxt) Int32

func (c *CallCtxt) Int32(i int) int32

func (*CallCtxt) Int64

func (c *CallCtxt) Int64(i int) int64

func (*CallCtxt) Int8

func (c *CallCtxt) Int8(i int) int8

func (*CallCtxt) Iter

func (c *CallCtxt) Iter(i int) (a cue.Iterator)

func (*CallCtxt) List

func (c *CallCtxt) List(i int) (a []cue.Value)

func (*CallCtxt) Name

func (c *CallCtxt) Name() string

func (*CallCtxt) Pos

func (c *CallCtxt) Pos() token.Pos

func (*CallCtxt) Reader

func (c *CallCtxt) Reader(i int) io.Reader

func (*CallCtxt) Rune

func (c *CallCtxt) Rune(i int) rune

func (*CallCtxt) Schema added in v0.11.0

func (c *CallCtxt) Schema(i int) Schema

Schema returns the ith argument as is, without converting it to a cue.Value.

func (*CallCtxt) String

func (c *CallCtxt) String(i int) string

func (*CallCtxt) StringList

func (c *CallCtxt) StringList(i int) (a []string)

func (*CallCtxt) Struct

func (c *CallCtxt) Struct(i int) Struct

func (*CallCtxt) Uint

func (c *CallCtxt) Uint(i int) uint

func (*CallCtxt) Uint16

func (c *CallCtxt) Uint16(i int) uint16

func (*CallCtxt) Uint32

func (c *CallCtxt) Uint32(i int) uint32

func (*CallCtxt) Uint64

func (c *CallCtxt) Uint64(i int) uint64

func (*CallCtxt) Uint8

func (c *CallCtxt) Uint8(i int) uint8

func (*CallCtxt) Value

func (c *CallCtxt) Value(i int) cue.Value

Value returns a finalized cue.Value for the ith argument.

type List

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

List represents a CUE list, which can be open or closed.

func (*List) Elems

func (l *List) Elems() []*adt.Vertex

Elems returns the elements of a list.

func (*List) IsOpen

func (l *List) IsOpen() bool

IsOpen reports whether a list is open ended.

type Package

type Package struct {
	Native []*Builtin
	CUE    string
}

func (*Package) MustCompile

func (p *Package) MustCompile(ctx *adt.OpContext, importPath string) *adt.Vertex

type Param

type Param struct {
	Kind  adt.Kind
	Value adt.Value // input constraint (may be nil)
}

type Schema added in v0.11.0

type Schema = cue.Value

A Schema represents an arbitrary cue.Value that can hold non-concrete values. By default function arguments are checked to be concrete.

type Struct

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

Struct represents a CUE struct, which can be open or closed.

func (*Struct) Arcs

func (s *Struct) Arcs() []*adt.Vertex

Arcs returns all arcs of s.

func (*Struct) IsOpen

func (s *Struct) IsOpen() bool

IsOpen reports whether s is open or has pattern constraints.

func (*Struct) Len

func (s *Struct) Len() int

Len reports the number of regular string fields of s.

func (Struct) NumConstraintFields added in v0.11.0

func (s Struct) NumConstraintFields() (count int)

NumConstraintFields reports the number of explicit optional and required fields, excluding pattern constraints.

type ValidationError

type ValidationError struct {
	B *adt.Bottom
}

A ValidationError indicates an error that is only valid if a builtin is used as a validator.

func (ValidationError) Error

func (v ValidationError) Error() string

Jump to

Keyboard shortcuts

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