templates

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package templates used for load templates from file system and render template to HTML

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Asset added in v0.11.1

type Asset struct {
	Reader  io.ReadSeekCloser
	ModTime time.Time
}

Asset struct.

func (*Asset) Close added in v0.11.1

func (a *Asset) Close() error

Close implements io.Closer.

func (*Asset) Read added in v0.11.1

func (a *Asset) Read(b []byte) (int, error)

Read implements io.Reader.

func (*Asset) Seek added in v0.11.1

func (a *Asset) Seek(offset int64, whence int) (int64, error)

Seek implements io.Seeker.

type Assets

type Assets interface {
	Open(string) (*Asset, error)
}

Assets interface.

type AssetsProvider added in v0.11.1

type AssetsProvider interface {
	GetAssets() Assets
}

AssetsProvider interface.

type CompositeTemplate added in v0.11.3

type CompositeTemplate interface {
	BuildPlan(
		context.Context,
		Data,
	) ([]RenderTask, error)
}

CompositeTemplate interface.

type Data

type Data map[string]interface{}

Data for render and examples.

type Examples

type Examples map[string]Data

Examples map.

type ExamplesLoader

type ExamplesLoader interface {
	LoadExamples(
		templateDirPath string,
		logger log.Logger,
	) (Examples, error)
}

ExamplesLoader interface.

type HTMLPreviewer added in v0.11.1

type HTMLPreviewer interface {
	RenderBodyHTML(context.Context, Data) (string, error)
	RenderHeaderHTML(context.Context, Data) (*string, error)
	RenderFooterHTML(context.Context, Data) (*string, error)
}

HTMLPreviewer provide previews on HTML2PDF templates.

type InvalidDataSchemaError

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

InvalidDataSchemaError returned by Validator when provided data is not valid.

func NewInvalidDataSchemaError added in v0.9.0

func NewInvalidDataSchemaError(cause error) *InvalidDataSchemaError

NewInvalidDataSchemaError construct new InvalidDataSchemaError.

func (*InvalidDataSchemaError) Error

func (err *InvalidDataSchemaError) Error() string

Error return error message.

func (*InvalidDataSchemaError) Is

func (*InvalidDataSchemaError) Is(otherError error) bool

Is used by errors.Is.

func (*InvalidDataSchemaError) Unwrap added in v0.9.0

func (err *InvalidDataSchemaError) Unwrap() error

Unwrap return original error.

type JSONSchemaValidator

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

JSONSchemaValidator validate data with json schema.

func NewJSONSchemaValidator

func NewJSONSchemaValidator(rawSchema []byte) (*JSONSchemaValidator, error)

NewJSONSchemaValidator construct new JSONSchemaValidator.

func (*JSONSchemaValidator) MarshalJSON

func (validator *JSONSchemaValidator) MarshalJSON() ([]byte, error)

MarshalJSON return raw schema representation.

func (*JSONSchemaValidator) ValidateData

func (validator *JSONSchemaValidator) ValidateData(ctx context.Context, data Data) error

ValidateData match provided data with JSON schema.

type LazyStore added in v0.11.1

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

LazyStore is StoreProvider implementation that provide StoreConsumer with Store.

func EmptyLazyStore added in v0.11.1

func EmptyLazyStore() *LazyStore

EmptyLazyStore construct new LazyStore.

func (*LazyStore) ConsumeTemplatesStore added in v0.11.1

func (provider *LazyStore) ConsumeTemplatesStore() (Store, error)

ConsumeTemplatesStore return Store from provider.

func (*LazyStore) ProvideTemplatesStore added in v0.11.1

func (provider *LazyStore) ProvideTemplatesStore(store Store)

ProvideTemplatesStore set Store to provider.

type MapStore

type MapStore map[Name]Template

MapStore is simple templates store.

func (MapStore) Fetch

func (store MapStore) Fetch(templateName Name) (Template, error)

Fetch template by name.

func (MapStore) List

func (store MapStore) List() ([]Template, error)

List all templates

func (MapStore) Put added in v0.11.1

func (store MapStore) Put(template Template) error

Put template to store.

type Name

type Name string

Name of template.

type NoTemplateError added in v0.11.1

type NoTemplateError struct{}

NoTemplateError error returned by HtmlPreviewer if template not exist.

func NewNoTemplateError added in v0.11.1

func NewNoTemplateError() *NoTemplateError

NewNoTemplateError constructor.

func (*NoTemplateError) Error added in v0.11.1

func (*NoTemplateError) Error() string

Error interface implementation.

func (*NoTemplateError) Is added in v0.11.1

func (*NoTemplateError) Is(err error) bool

Is interface implementation.

type RenderFuture added in v0.11.1

type RenderFuture = futures.Future[RenderResult]

RenderFuture returned by Render method.

type RenderResult

type RenderResult = futures.Result[[]byte]

RenderResult returned into render future.

type RenderTask added in v0.11.3

type RenderTask struct {
	TemplateName string
	Template     Template
	Data         Data
}

RenderTask render task returned by planner.

type SchemaLoader

type SchemaLoader interface {
	LoadSchema(
		templateDirPath string,
		logger log.Logger,
	) (Validator, error)
}

SchemaLoader interface.

type Store

type Store interface {
	Fetch(Name) (Template, error)
	List() ([]Template, error)
	Put(Template) error
}

Store of templates.

type StoreConsumer added in v0.11.1

type StoreConsumer interface {
	ConsumeTemplatesStore() (Store, error)
}

StoreConsumer is interface for templates store consumers.

type StoreProvider added in v0.11.1

type StoreProvider interface {
	ProvideTemplatesStore(Store)
}

StoreProvider is interface for templates store providers.

type StoreProviderNotInitializedError added in v0.11.1

type StoreProviderNotInitializedError struct{}

StoreProviderNotInitializedError returned from LazyStore.ConsumeTemplatesStore.

func (*StoreProviderNotInitializedError) Error added in v0.11.1

Error implement error interface.

type Template

type Template interface {
	GetName() Name
	GetExamples() Examples
	GetValidator() Validator
	Render(ctx context.Context, data Data) RenderFuture
}

Template interface.

type TemplateLoader

type TemplateLoader interface {
	LoadTemplate(
		templateDirPath string,
		templateName string,
		logger log.Logger,
	) (Template, error)

	TemplateType() string
}

TemplateLoader interface.

type TemplateLoaderBuilder added in v0.11.1

type TemplateLoaderBuilder interface {
	BuildTemplateLoader(Store) (TemplateLoader, error)
}

TemplateLoaderBuilder interface.

type TemplateNotExistsError

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

TemplateNotExistsError returned from Store.Fetch.

func NewTemplateNotExistsError

func NewTemplateNotExistsError(templateName Name) *TemplateNotExistsError

NewTemplateNotExistsError construct new TemplateNotExistsError.

func (*TemplateNotExistsError) Error

func (err *TemplateNotExistsError) Error() string

func (*TemplateNotExistsError) Is

func (err *TemplateNotExistsError) Is(otherErr error) bool

Is implement errors.Is.

type Validator

type Validator interface {
	ValidateData(ctx context.Context, data Data) error
	MarshalJSON() ([]byte, error)
}

Validator validate render data.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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