registry

package
v0.0.0-...-8f56db8 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GeneratorEnabler

type GeneratorEnabler interface {
	Enable(variantName coreModels.VariantName, generatorParamsValidator params.Validator, tileGeneratorFunction models.TileGeneratorFunction)
}

GeneratorEnabler is returned to monitorable after register to enable monitorable generator with this variant if she is "valid"

type MetadataRegistry

type MetadataRegistry struct {
	MonitorableMetadata []*MonitorableMetadata
	TileMetadata        map[coreModels.TileType]*tileMetadata
	GeneratorMetadata   map[coreModels.TileType]*generatorMetadata
}

func NewRegistry

func NewRegistry() *MetadataRegistry

func (*MetadataRegistry) GetMonitorables

func (r *MetadataRegistry) GetMonitorables() []*MonitorableMetadata

func (*MetadataRegistry) RegisterGenerator

func (r *MetadataRegistry) RegisterGenerator(generatedTileType coreModels.TileType, minimalVersion versions.RawVersion, variantNames []coreModels.VariantName) GeneratorEnabler

func (*MetadataRegistry) RegisterMonitorable

func (r *MetadataRegistry) RegisterMonitorable(monitorable coreModels.Monitorable)

REGISTRY ----------------------------------------

func (*MetadataRegistry) RegisterTile

func (r *MetadataRegistry) RegisterTile(tileType coreModels.TileType, minimalVersion versions.RawVersion, variantNames []coreModels.VariantName) TileEnabler

type MonitorableMetadata

type MonitorableMetadata struct {
	Monitorable      coreModels.Monitorable
	VariantsMetadata []*MonitorableVariantMetadata
}

type MonitorableVariantMetadata

type MonitorableVariantMetadata struct {
	VariantName coreModels.VariantName

	Enabled bool
	Errors  []error
}

type Registry

type Registry interface {
	RegisterMonitorable(monitorable coreModels.Monitorable)
	RegisterTile(tileType coreModels.TileType, minimalVersion versions.RawVersion, variantNames []coreModels.VariantName) TileEnabler
	RegisterGenerator(generatedTileType coreModels.TileType, minimalVersion versions.RawVersion, variantNames []coreModels.VariantName) GeneratorEnabler
	GetMonitorables() []*MonitorableMetadata
}

Registry is used to register Tile and Generator in config for verify / hydrate

type TileEnabler

type TileEnabler interface {
	Enable(variantName coreModels.VariantName, paramsValidator params.Validator, routePath string)
}

TileEnabler is returned to monitorable after register to enable monitorable tile with this variant if she is "valid"

type TileMetadataExplorer

type TileMetadataExplorer interface {
	GetMinimalVersion() versions.RawVersion
	GetVariant(variantName coreModels.VariantName) (VariantMetadataExplorer, bool)
	GetVariantsNames() []coreModels.VariantName
}

TileMetadataExplorer is used in verify. Matching tileMetadata and generatorMetadata.

type VariantMetadataExplorer

type VariantMetadataExplorer interface {
	IsEnabled() bool
	GetValidator() params.Validator
}

VariantMetadataExplorer is used in verify. Matching tileVariantMetadata and generatorVariantMetadata.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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