ftl

package
v0.133.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Trace   = log.Trace
	Debug   = log.Debug
	Info    = log.Info
	Warn    = log.Warn
	Error   = log.Error
	Default = log.Default
)

Log levels.

Variables

This section is empty.

Functions

func Call

func Call[Req, Resp any](ctx context.Context, verb Verb[Req, Resp], req Req) (resp Resp, err error)

Call a Verb through the FTL Controller.

func PostgresDatabase

func PostgresDatabase(name string) *sql.DB

PostgresDatabase returns a Postgres database connection for the named database.

Types

type AbstractRef

type AbstractRef[Proto schema.RefProto] Ref

AbstractRef is an abstract reference to a symbol.

func ParseRef

func ParseRef[Proto schema.RefProto](ref string) (AbstractRef[Proto], error)

func (*AbstractRef[Proto]) String

func (v *AbstractRef[Proto]) String() string

func (*AbstractRef[Proto]) ToProto

func (v *AbstractRef[Proto]) ToProto() *Proto

func (*AbstractRef[Proto]) UnmarshalText

func (v *AbstractRef[Proto]) UnmarshalText(text []byte) error

type ConfigType

type ConfigType interface{ any }

ConfigType is a type that can be used as a configuration value.

type ConfigValue

type ConfigValue[T ConfigType] struct {
	// contains filtered or unexported fields
}

ConfigValue is a typed configuration key for the current module.

func Config

func Config[T ConfigType](name string) ConfigValue[T]

Config declares a typed configuration key for the current module.

func (*ConfigValue[T]) Get

func (c *ConfigValue[T]) Get() (out T)

Get returns the value of the configuration key from FTL.

func (*ConfigValue[T]) String

func (c *ConfigValue[T]) String() string

type DataRef

type DataRef = AbstractRef[schemapb.DataRef]

DataRef is a reference to a Data type.

func DataRefFromProto

func DataRefFromProto(p *schemapb.DataRef) DataRef

func ParseDataRef

func ParseDataRef(ref string) (DataRef, error)

type Logger

type Logger = log.Logger

Logger is a levelled printf-style logger with support for structured attributes.

func LoggerFromContext

func LoggerFromContext(ctx context.Context) *Logger

LoggerFromContext retrieves the current logger from the Context.

type Option

type Option[T any] struct {
	// contains filtered or unexported fields
}

An Option type is a type that can contain a value or nothing.

func Nil

func Nil[T any](ptr T) Option[T]

Nil returns an Option that is invalid if the value is nil, otherwise the value.

If the type is not nillable (slice, map, chan, ptr, interface) this will panic.

func None

func None[T any]() Option[T]

None returns an Option that contains nothing.

func Ptr

func Ptr[T any](ptr *T) Option[T]

Ptr returns an Option that is invalid if the pointer is nil, otherwise the dereferenced pointer.

func Some

func Some[T any](value T) Option[T]

Some returns an Option that contains a value.

func Zero

func Zero[T any](value T) Option[T]

Zero returns an Option that is invalid if the value is the zero value, otherwise the value.

func (Option[T]) Default

func (o Option[T]) Default(value T) T

Default returns the Option value if it is present, otherwise it returns the value passed.

func (Option[T]) Get

func (o Option[T]) Get() (T, bool)

Get returns the value and a boolean indicating if the Option contains a value.

func (Option[T]) GoString

func (o Option[T]) GoString() string

func (Option[T]) MarshalJSON

func (o Option[T]) MarshalJSON() ([]byte, error)

func (Option[T]) MustGet

func (o Option[T]) MustGet() T

MustGet returns the value. It panics if the Option contains nothing.

func (Option[T]) Ok

func (o Option[T]) Ok() bool

Ok returns true if the Option contains a value.

func (Option[T]) Ptr

func (o Option[T]) Ptr() *T

Ptr returns a pointer to the value if the Option contains a value, otherwise nil.

func (*Option[T]) Scan

func (o *Option[T]) Scan(src any) error

func (Option[T]) String

func (o Option[T]) String() string

func (*Option[T]) UnmarshalJSON

func (o *Option[T]) UnmarshalJSON(data []byte) error

func (Option[T]) Value

func (o Option[T]) Value() (driver.Value, error)

type Ref

type Ref struct {
	Module string `json:"module"`
	Name   string `json:"name"`
}

Ref is an untyped reference to a symbol.

type SecretType

type SecretType interface{ any }

SecretType is a type that can be used as a secret value.

type SecretValue

type SecretValue[Type SecretType] struct {
	// contains filtered or unexported fields
}

SecretValue is a typed secret for the current module.

func Secret

func Secret[Type SecretType](name string) SecretValue[Type]

Secret declares a typed secret for the current module.

func (*SecretValue[Type]) Get

func (s *SecretValue[Type]) Get() (out Type)

Get returns the value of the secret from FTL.

func (*SecretValue[Type]) String

func (s *SecretValue[Type]) String() string

type Sink

type Sink[Req any] func(context.Context, Req) error

A Sink is a function that accepts input but returns nothing.

type SinkRef

type SinkRef = AbstractRef[schemapb.SinkRef]

func ParseSinkRef

func ParseSinkRef(ref string) (SinkRef, error)

func SinkRefFromProto

func SinkRefFromProto(p *schemapb.SinkRef) SinkRef

func SinkToRef

func SinkToRef[Req any](sink Sink[Req]) SinkRef

type Source

type Source[Req any] func(context.Context, Req) error

A Source is a function that does not accept input but returns output.

type SourceRef

type SourceRef = AbstractRef[schemapb.SourceRef]

func ParseSourceRef

func ParseSourceRef(ref string) (SourceRef, error)

func SourceRefFromProto

func SourceRefFromProto(p *schemapb.SourceRef) SourceRef

type Unit

type Unit struct{}

Unit is a type that has no value.

It can be used as a parameter or return value to indicate that a function does not accept or return any value.

type Verb

type Verb[Req, Resp any] func(context.Context, Req) (Resp, error)

A Verb is a function that accepts input and returns output.

type VerbRef

type VerbRef = AbstractRef[schemapb.VerbRef]

VerbRef is a reference to a verb (a function in the form F(I)O).

func ParseVerbRef

func ParseVerbRef(ref string) (VerbRef, error)

func VerbRefFromProto

func VerbRefFromProto(p *schemapb.VerbRef) VerbRef

func VerbToRef

func VerbToRef[Req, Resp any](verb Verb[Req, Resp]) VerbRef

VerbToRef returns the FTL reference for a Verb.

Directories

Path Synopsis
Package ftltest contains test utilities for the ftl package.
Package ftltest contains test utilities for the ftl package.

Jump to

Keyboard shortcuts

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