package lazy

import "github.com/gohugoio/hugo/lazy"

Index

Types

type Init

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

Init holds a graph of lazily initialized dependencies.

func New

func New() *Init

New creates a new empty Init.

func (*Init) Add

func (ini *Init) Add(initFn func(context.Context) (any, error)) *Init

Add adds a func as a new child dependency.

func (*Init) AddWithTimeout

func (ini *Init) AddWithTimeout(timeout time.Duration, f func(ctx context.Context) (any, error)) *Init

AddWithTimeout is same as Add, but with a timeout that aborts initialization.

func (*Init) Branch

func (ini *Init) Branch(initFn func(context.Context) (any, error)) *Init

Branch creates a new dependency branch based on an existing and adds the given dependency as a child.

func (*Init) BranchWithTimeout

func (ini *Init) BranchWithTimeout(timeout time.Duration, f func(ctx context.Context) (any, error)) *Init

BranchWithTimeout is same as Branch, but with a timeout.

func (*Init) Do

func (ini *Init) Do(ctx context.Context) (any, error)

Do initializes the entire dependency graph.

func (*Init) InitCount

func (ini *Init) InitCount() int

InitCount gets the number of this this Init has been initialized.

func (*Init) Reset

func (ini *Init) Reset()

Reset resets the current and all its dependencies.

Source Files

init.go once.go

Version
v0.123.2
Published
Feb 22, 2024
Platform
js/wasm
Imports
5 packages
Last checked
1 minute ago

Tools for package owners.