package task

import "cuelang.org/go/internal/task"

Package task provides a registry for tasks to be used by commands.

Index

Functions

func Register

func Register(key string, f RunnerFunc)

Register registers a task for cue commands.

Types

type Context

type Context struct {
	Context context.Context

	Stdin  io.Reader
	Stdout io.Writer
	Stderr io.Writer
	Obj    cue.Value
	Err    errors.Error
}

A Context provides context for running a task.

func (*Context) Bytes

func (c *Context) Bytes(field string) []byte

func (*Context) Int64

func (c *Context) Int64(field string) int64

func (*Context) Lookup

func (c *Context) Lookup(field string) cue.Value

func (*Context) String

func (c *Context) String(field string) string

type Runner

type Runner interface {

	// Runner runs given the current value and returns a new value which is to
	// be unified with the original result.
	Run(ctx *Context) (results interface{}, err error)
}

A Runner defines a command type.

type RunnerFunc

type RunnerFunc func(v cue.Value) (Runner, error)

A RunnerFunc creates a Runner.

func Lookup

func Lookup(key string) RunnerFunc

Lookup returns the RunnerFunc for a key.

Source Files

task.go

Version
v0.12.0 (latest)
Published
Jan 30, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
8 hours ago

Tools for package owners.