2023-03-31 11:52:04 +02:00
|
|
|
package resource
|
|
|
|
|
2023-03-31 11:59:55 +02:00
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
)
|
|
|
|
|
2023-03-31 23:35:13 +02:00
|
|
|
// EntryFunc is a function signature for retrieving value for a key
|
|
|
|
type EntryFunc func(ctx context.Context) (string, error)
|
2023-03-31 11:52:04 +02:00
|
|
|
|
2023-03-31 23:35:13 +02:00
|
|
|
// Resource implementation are responsible for retrieving values and templates for symbols, and can render templates from value dictionaries.
|
|
|
|
type Resource interface {
|
2023-04-01 11:58:02 +02:00
|
|
|
GetTemplate(sym string) (string, error) // Get the template for a given symbol.
|
|
|
|
GetCode(sym string) ([]byte, error) // Get the bytecode for the given symbol.
|
|
|
|
RenderTemplate(sym string, values map[string]string) (string, error) // Render the given data map using the template of the symbol.
|
|
|
|
FuncFor(sym string) (EntryFunc, error) // Resolve symbol code point for.
|
2023-03-31 11:52:04 +02:00
|
|
|
}
|