eval

package
v0.4.3-final-apache Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyVars

func ApplyVars(ctx context.Context, variables *definitions.ParsedVars, dataCtx plugindata.Map) (diags diagnostics.Diag)

Evaluates `variables` and stores the results in `dataCtx` under the key "vars".

Types

type Content

type Content struct {
	Section *Section
	Plugin  *PluginContentAction
	Dynamic *Dynamic
}

func LoadContent

func LoadContent(ctx context.Context, providers ContentProviders, node *definitions.ParsedContent) (_ *Content, diags diagnostics.Diag)

func UnwrapDynamicContent

func UnwrapDynamicContent(ctx context.Context, children []*Content, dataCtx plugindata.Map) (res []*Content, diags diagnostics.Diag)

unwrapDynamicContent unwraps dynamic content in children

func (*Content) InvocationOrder

func (action *Content) InvocationOrder() plugin.InvocationOrder

func (*Content) RenderContent

func (action *Content) RenderContent(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) diagnostics.Diag

type ContentProviders

type ContentProviders interface {
	ContentProvider(name string) (*plugin.ContentProvider, bool)
}

type DataSources

type DataSources interface {
	DataSource(name string) (*plugin.DataSource, bool)
}

type Document

type Document struct {
	Source        *definitions.Document
	Meta          *definitions.MetaBlock
	Vars          *definitions.ParsedVars
	RequiredVars  []string
	DataBlocks    []*PluginDataAction
	ContentBlocks []*Content
	PublishBlocks []*PluginPublishAction
}

func LoadDocument

func LoadDocument(ctx context.Context, plugins Plugins, node *definitions.ParsedDocument) (_ *Document, diags diagnostics.Diag)

func (*Document) FetchData

func (doc *Document) FetchData(ctx context.Context) (plugindata.Data, diagnostics.Diag)

func (*Document) FetchDataWithPath

func (doc *Document) FetchDataWithPath(ctx context.Context, path []string) (plugindata.Data, diagnostics.Diag)

func (*Document) Publish

func (doc *Document) Publish(ctx context.Context, content plugin.Content, data plugindata.Data, documentName string) diagnostics.Diag

func (*Document) RenderContent

func (doc *Document) RenderContent(ctx context.Context, docDataCtx plugindata.Map, requiredTags []string) (*plugin.ContentSection, plugindata.Data, diagnostics.Diag)

type Dynamic

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

func LoadDynamic

func LoadDynamic(ctx context.Context, providers ContentProviders, node *definitions.ParsedDynamic) (_ *Dynamic, diags diagnostics.Diag)

type PluginAction

type PluginAction struct {
	Source     *definitions.Plugin
	PluginName string
	BlockName  string
	Meta       *definitions.MetaBlock
	Config     *dataspec.Block
	Args       *dataspec.Block
	IsIncluded *dataspec.Attr
}

type PluginContentAction

type PluginContentAction struct {
	*PluginAction
	Provider     *plugin.ContentProvider
	Vars         *definitions.ParsedVars
	RequiredVars []string
	DependsOn    []string
}

func LoadPluginContentAction

func LoadPluginContentAction(ctx context.Context, providers ContentProviders, node *definitions.ParsedPlugin) (_ *PluginContentAction, diags diagnostics.Diag)

func (*PluginContentAction) RenderContent

func (action *PluginContentAction) RenderContent(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) (diags diagnostics.Diag)

type PluginDataAction

type PluginDataAction struct {
	*PluginAction
	Source   *plugin.DataSource
	SrcRange hcl.Range
}

func LoadDataAction

func LoadDataAction(ctx context.Context, sources DataSources, node *definitions.ParsedPlugin) (_ *PluginDataAction, diags diagnostics.Diag)

func (*PluginDataAction) FetchData

func (action *PluginDataAction) FetchData(ctx context.Context) (plugindata.Data, diagnostics.Diag)

type PluginPublishAction

type PluginPublishAction struct {
	*PluginAction
	Publisher *plugin.Publisher
	Format    plugin.OutputFormat
}

func LoadPluginPublishAction

func LoadPluginPublishAction(ctx context.Context, publishers Publishers, node *definitions.ParsedPlugin) (_ *PluginPublishAction, diags diagnostics.Diag)

func (*PluginPublishAction) Publish

func (block *PluginPublishAction) Publish(ctx context.Context, dataCtx plugindata.Map, documentName string) diagnostics.Diag

type Plugins

type Plugins interface {
	DataSources
	ContentProviders
	Publishers
}

type Publishers

type Publishers interface {
	Publisher(name string) (*plugin.Publisher, bool)
}

type Section

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

func LoadSection

func LoadSection(ctx context.Context, providers ContentProviders, node *definitions.ParsedSection) (_ *Section, diags diagnostics.Diag)

func (*Section) PrepareData

func (block *Section) PrepareData(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection) (diags diagnostics.Diag)

func (*Section) RenderContent

func (block *Section) RenderContent(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) (diags diagnostics.Diag)

func (*Section) Unwrap

func (block *Section) Unwrap(ctx context.Context, dataCtx plugindata.Map) (include bool, children []*Content, diags diagnostics.Diag)

Jump to

Keyboard shortcuts

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