context

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2022 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Overview

This package provides a context for Tasks and a registry for their usage in flows.

Index

Constants

This section is empty.

Variables

This section is empty.

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
	Value   cue.Value
	Error   error

	// Global lock around CUE evaluator
	CUELock *sync.Mutex

	// map of cue.Values
	ValStore *sync.Map

	// map of chan?
	Mailbox *sync.Map
}

A Context provides context for running a task.

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 task 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.

Jump to

Keyboard shortcuts

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