Documentation
¶
Index ¶
- Constants
- Variables
- func BagNormalization(val any) any
- type Application
- type Bag
- func (bag *Bag) Bag(path string, def ...Bag) Bag
- func (bag *Bag) Bool(path string, def ...bool) bool
- func (bag *Bag) Clone() Bag
- func (bag *Bag) Duration(path string, def ...time.Duration) time.Duration
- func (bag *Bag) Entries() []string
- func (bag *Bag) Float32(path string, def ...float32) float32
- func (bag *Bag) Float64(path string, def ...float64) float64
- func (bag *Bag) Get(path string, def ...any) any
- func (bag *Bag) Has(path string) bool
- func (bag *Bag) Int(path string, def ...int) int
- func (bag *Bag) Int8(path string, def ...int8) int8
- func (bag *Bag) Int16(path string, def ...int16) int16
- func (bag *Bag) Int32(path string, def ...int32) int32
- func (bag *Bag) Int64(path string, def ...int64) int64
- func (bag *Bag) Merge(src Bag) *Bag
- func (bag *Bag) Populate(target any, path ...string) error
- func (bag *Bag) Set(path string, value any) error
- func (bag *Bag) Slice(path string, def ...[]any) []any
- func (bag *Bag) String(path string, def ...string) string
- func (bag *Bag) StringMap(path string, def ...map[string]any) map[string]any
- func (bag *Bag) StringMapString(path string, def ...map[string]string) map[string]string
- func (bag *Bag) StringSlice(path string, def ...[]string) []string
- func (bag *Bag) Uint(path string, def ...uint) uint
- func (bag *Bag) Uint8(path string, def ...uint8) uint8
- func (bag *Bag) Uint16(path string, def ...uint16) uint16
- func (bag *Bag) Uint32(path string, def ...uint32) uint32
- func (bag *Bag) Uint64(path string, def ...uint64) uint64
- type BootableProvider
- type CacheAdaptor
- type CacheAdaptorCreator
- type CacheAdaptorFactory
- type CacheKeyGenerator
- type CacheKeyGeneratorCreator
- type CacheKeyGeneratorFactory
- type CacheSerializer
- type CacheSerializerCreator
- type CacheSerializerFactory
- type ClosableProvider
- type Config
- type ConfigObserver
- type ConfigParser
- type ConfigParserCreator
- type ConfigParserFactory
- type ConfigRestClient
- type ConfigRestClientGenerator
- type ConfigSource
- type ConfigSourceCreator
- type ConfigSourceFactory
- type ConfigurableProvider
- type DatabaseConfig
- type DatabaseConfigCreator
- type DatabaseConfigFactory
- type DatabaseConnection
- type DatabaseConnectionFactory
- type DatabaseDialect
- type DatabaseDialectCreator
- type DatabaseDialectFactory
- type Disk
- type DiskCreator
- type DiskFactory
- type Error
- type Executor
- type Factory
- type FactoryConfig
- type FactoryConfigValidator
- type FactoryResource
- type FactoryResourceCreator
- type Kennel
- type LogLevel
- type LogSerializer
- type LogSerializerCreator
- type LogSerializerFactory
- type LogStream
- type LogStreamCreator
- type LogStreamFactory
- type Logger
- type Migration
- type MigrationInfo
- type Migrator
- type MigratorCreator
- type MigratorFactory
- type MigratorLogger
- type MigratorLoggerCreator
- type MigratorLoggerFactory
- type ObservableConfigSource
- type Process
- type Provider
- type PubSub
- type PubSubHandler
- type RedisConnection
- type RedisConnectionCreator
- type RedisConnectionFactory
- type Registerer
- type RunnableProvider
- type Timer
- type Translator
- type TranslatorCreator
- type TranslatorFactory
- type Trigger
- type TriggerCallback
- type TriggerFactory
- type ValidationError
- type Validator
- type ValidatorCreator
- type ValidatorErrorConverter
- type ValidatorErrorConverterCreator
- type ValidatorErrorConverterFactory
- type ValidatorFactory
- type ValidatorParser
- type ValidatorParserCreator
- type ValidatorParserFactory
- type WatchdogLogger
- type WatchdogLoggerCreator
- type WatchdogLoggerFactory
Constants ¶
View Source
const ( DiskCreatorGroup = "flam.disks.creator" DiskDriverOS = "flam.disks.driver.os" DiskDriverMemory = "flam.disks.driver.memory" ConfigParserCreatorGroup = "flam.config.parsers.creator" ConfigParserDriverYaml = "flam.config.parsers.driver.yaml" ConfigParserDriverJson = "flam.config.parsers.driver.json" ConfigSourceCreatorGroup = "flam.config.sources.creator" ConfigSourceDriverEnv = "flam.config.sources.driver.env" ConfigSourceDriverFile = "flam.config.sources.driver.file" ConfigSourceDriverObservableFile = "flam.config.sources.driver.observable-file" ConfigSourceDriverDir = "flam.config.sources.driver.dir" ConfigSourceDriverRest = "flam.config.sources.driver.rest" ConfigSourceDriverObservableRest = "flam.config.sources.driver.observable-rest" LogSerializerCreatorGroup = "flam.log.serializers.creator" LogSerializerDriverString = "flam.log.serializers.driver.string" LogSerializerDriverJson = "flam.log.serializers.driver.json" LogStreamCreatorGroup = "flam.log.streams.creator" LogStreamDriverConsole = "flam.log.streams.driver.console" LogStreamDriverFile = "flam.log.streams.driver.file" LogStreamDriverRotatingFile = "flam.log.streams.driver.rotating-file" DatabaseConfigCreatorGroup = "flam.database.configs.creator" DatabaseConfigDriverDefault = "flam.database.configs.drivers.default" DatabaseConfigLoggerDefault = "flam.database.configs.loggers.default" DatabaseConfigLoggerDiscard = "flam.database.configs.loggers.discard" DatabaseDialectCreatorGroup = "flam.database.dialects.creator" DatabaseDialectDriverSqlite = "flam.database.dialects.drivers.sqlite" DatabaseDialectDriverMySql = "flam.database.dialects.drivers.mysql" DatabaseDialectDriverPostgres = "flam.database.dialects.drivers.postgres" MigratorLoggerCreatorGroup = "flam.migration.loggers.creator" MigratorLoggerDriverDefault = "flam.migration.loggers.driver.default" MigratorCreatorGroup = "flam.migration.migrators.creator" MigratorDriverDefault = "flam.migration.migrators.driver.default" MigrationGroup = "flam.migration.migrations" RedisConnectionCreatorGroup = "flam.redis.connections.creator" RedisConnectionDriverDefault = "flam.redis.connections.driver.default" RedisConnectionDriverMini = "flam.redis.connections.driver.mini" CacheKeyGeneratorCreatorGroup = "flam.cache.key_generators.creator" CacheSerializerCreatorGroup = "flam.cache.serializers.creator" CacheAdaptorCreatorGroup = "flam.cache.adaptors.creator" CacheAdaptorDriverRedis = "flam.cache.adaptors.driver.redis" TranslatorCreatorGroup = "flam.translators.creator" TranslatorDriverEnglish = "flam.translators.driver.english" ValidatorParserCreatorGroup = "flam.validators.parsers.creator" ValidatorParserDriverDefault = "flam.validators.parsers.driver.default" ValidatorErrorConverterCreatorGroup = "flam.validators.converters.creator" ValidatorCreatorGroup = "flam.validators.creator" ValidatorDriverDefault = "flam.validators.driver.default" ProcessGroup = "flam.process" WatchdogLoggerCreatorGroup = "flam.watchdog.loggers.creator" WatchdogLoggerDriverDefault = "flam.watchdog.loggers.driver.default" DefaultConfigSourceId = "__app" DefaultConfigBoot = false DefaultConfigObserverFrequency = time.Minute DefaultConfigFileParserId = "yaml" DefaultConfigFileDiskId = "os" DefaultConfigRestParserId = "json" DefaultConfigRestConfigPath = "data.config" DefaultConfigRestTimestampPath = "data.timestamp" DefaultConfigPriority = 0 DefaultLogBoot = false DefaultLogFlusherFrequency = time.Minute DefaultLogLevel = LogInfo DefaultLogSerializerId = "json" DefaultLogDiskId = "os" DefaultDatabaseSqliteHost = ":memory:" DefaultDatabaseMySqlProtocol = "tcp" DefaultDatabaseMySqlHost = "127.0.0.1" DefaultDatabaseMySqlPort = 3306 DefaultDatabasePostgresHost = "127.0.0.1" DefaultDatabasePostgresPort = 5432 DefaultDatabaseDialectId = "" DefaultDatabaseConfigId = "" DefaultMigratorBoot = false DefaultMigratorConnectionId = "" DefaultMigratorLoggerId = "" DefaultMigratorLoggerChannel = "flam" DefaultMigratorLoggerStartLevel = LogInfo DefaultMigratorLoggerErrorLevel = LogError DefaultMigratorLoggerDoneLevel = LogInfo DefaultRedisMiniBoot = false DefaultRedisHost = "127.0.0.1" DefaultRedisPort = 6379 DefaultRedisPassword = "" DefaultRedisDatabase = 0 DefaultCacheKeyGeneratorId = "" DefaultCacheSerializerId = "" DefaultValidatorAnnotation = "paramId" DefaultValidatorTranslatorId = "" DefaultValidatorParserId = "" DefaultValidatorErrorConverterId = "" DefaultKennelRun = false DefaultWatchdogLoggerId = "" DefaultWatchdogLoggerChannel = "flam" DefaultWatchdogLoggerStartLevel = LogInfo DefaultWatchdogLoggerErrorLevel = LogError DefaultWatchdogLoggerDoneLevel = LogInfo PathDisks = "flam.disks" PathConfigBoot = "flam.config.boot" PathConfigObserverFrequency = "flam.config.observer" PathConfigDefaultFileParserId = "flam.config.defaults.file.parser_id" PathConfigDefaultFileDiskId = "flam.config.defaults.file.disk_id" PathConfigDefaultRestParserId = "flam.config.defaults.rest.parser_id" PathConfigDefaultRestConfigPath = "flam.config.defaults.rest.config.path" PathConfigDefaultRestTimestampPath = "flam.config.defaults.rest.timestamp.path" PathConfigDefaultPriority = "flam.config.defaults.priority" PathConfigParsers = "flam.config.parsers" PathConfigSources = "flam.config.sources" PathLogBoot = "flam.log.boot" PathLogFlusherFrequency = "flam.log.flusher.frequency" PathLogDefaultLevel = "flam.log.defaults.level" PathLogDefaultSerializerId = "flam.log.defaults.serializer_id" PathLogDefaultDiskId = "flam.log.defaults.disk_id" PathLogSerializers = "flam.log.serializers" PathLogStreams = "flam.log.streams" PathDatabaseDefaultSqliteHost = "flam.database.defaults.sqlite.host" PathDatabaseDefaultMySqlProtocol = "flam.database.defaults.mysql.protocol" PathDatabaseDefaultMySqlHost = "flam.database.defaults.mysql.host" PathDatabaseDefaultMySqlPort = "flam.database.defaults.mysql.port" PathDatabaseDefaultPostgresHost = "flam.database.defaults.postgres.host" PathDatabaseDefaultPostgresPort = "flam.database.defaults.postgres.port" PathDatabaseDefaultDialectId = "flam.database.defaults.dialect_id" PathDatabaseDefaultConfigId = "flam.database.defaults.config_id" PathDatabaseConfigs = "flam.database.configs" PathDatabaseDialects = "flam.database.dialects" PathDatabaseConnections = "flam.database.connections" PathMigratorBoot = "flam.migrator.boot" PathMigratorDefaultConnectionId = "flam.migrator.defaults.connection_id" PathMigratorDefaultLoggerId = "flam.migrator.defaults.logger_id" PathMigratorDefaultLoggerChannel = "flam.migrator.defaults.logger.channel" PathMigratorDefaultLoggerStartLevel = "flam.migrator.defaults.logger.start.level" PathMigratorDefaultLoggerErrorLevel = "flam.migrator.defaults.logger.error.level" PathMigratorDefaultLoggerDoneLevel = "flam.migrator.defaults.logger.done.level" PathMigratorLoggers = "flam.migrator.loggers" PathMigrators = "flam.migrators" PathRedisMiniBoot = "flam.redis.mini.boot" PathRedisDefaultHost = "flam.redis.defaults.host" PathRedisDefaultPort = "flam.redis.defaults.port" PathRedisDefaultPassword = "flam.redis.defaults.password" PathRedisDefaultDatabase = "flam.redis.defaults.database" PathRedisConnections = "flam.redis.connections" PathCacheDefaultKeyGeneratorId = "flam.cache.default.key_generator_id" PathCacheDefaultSerializerId = "flam.cache.default.serializer_id" PathCacheKeyGenerators = "flam.cache.key_generators" PathCacheSerializers = "flam.cache.serializers" PathCacheAdaptors = "flam.cache.adaptors" PathTranslators = "flam.translators" PathValidatorDefaultAnnotation = "flam.validator.defaults.annotation" PathValidatorDefaultTranslatorId = "flam.validator.defaults.translator_id" PathValidatorDefaultParserId = "flam.validator.defaults.parser_id" PathValidatorDefaultErrorConverterId = "flam.validator.defaults.error_converter_id" PathValidatorParsers = "flam.validator.parsers" PathValidatorErrorConverters = "flam.validator.converters" PathValidators = "flam.validators" PathKennelRun = "flam.kennel.run" PathWatchdogDefaultLoggerId = "flam.watchdog.defaults.logger_id" PathWatchdogDefaultLoggerChannel = "flam.watchdog.defaults.log.channel" PathWatchdogDefaultLoggerStartLevel = "flam.watchdog.defaults.log.start.level" PathWatchdogDefaultLoggerErrorLevel = "flam.watchdog.defaults.log.error.level" PathWatchdogDefaultLoggerDoneLevel = "flam.watchdog.defaults.log.done.level" PathWatchdogLoggers = "flam.watchdog.loggers" PathProcesses = "flam.processes" )
Variables ¶
View Source
var ( ErrNilReference = errors.New("nil reference") ErrBagInvalidPath = errors.New("invalid bag path") ErrUnknownResource = errors.New("unknown resource") ErrInvalidResourceConfig = errors.New("invalid resource config") ErrUnacceptedResourceConfig = errors.New("unaccepted resource config") ErrDuplicateResource = errors.New("duplicate resource") ErrSubscriptionNotFound = errors.New("subscription not found") ErrDuplicateSubscription = errors.New("duplicate subscription") ErrInvalidSubscriptionChannelPattern = errors.New("invalid subscription channel pattern") ErrPublishFailed = errors.New("publish failed") ErrDuplicateProvider = errors.New("duplicate provider") ErrRestConfigSourceConfigNotFound = errors.New("config rest source config source data not found") ErrInvalidRestConfigSourceConfig = errors.New("invalid config rest source config source data") ErrRestConfigSourceTimestampNotFound = errors.New("config rest source config source timestamp not found") ErrInvalidRestConfigSourceTimestamp = errors.New("invalid config rest source config source timestamp") ErrDuplicateConfigObserver = errors.New("duplicate config observer") ErrUnknownDatabaseLogType = errors.New("unknown database log type") ErrUnknownDatabaseLogLevel = errors.New("unknown database log level") ErrMissingCacheObject = errors.New("missing cache object") ErrLanguageNotFound = errors.New("translator language not found") ErrProcessNotFound = errors.New("watchdog process not found") ErrProcessIsRunning = errors.New("watchdog process is currently running") ErrProcessRunningError = errors.New("watchdog process running error") )
Functions ¶
func BagNormalization ¶
Types ¶
type Application ¶
type Application interface {
Container() *dig.Container
HasProvider(id string) bool
Register(provider Provider) error
Boot() error
Run() error
Close() error
}
func NewApplication ¶
func NewApplication( config ...Bag, ) Application
type BootableProvider ¶
type CacheAdaptor ¶
type CacheAdaptorCreator ¶
type CacheAdaptorCreator interface {
Accept(config Bag) bool
Create(config Bag) (CacheAdaptor, error)
}
type CacheAdaptorFactory ¶
type CacheKeyGenerator ¶
type CacheKeyGeneratorCreator ¶
type CacheKeyGeneratorCreator interface {
Accept(config Bag) bool
Create(config Bag) (CacheKeyGenerator, error)
}
type CacheSerializer ¶
type CacheSerializerCreator ¶
type CacheSerializerCreator interface {
Accept(config Bag) bool
Create(config Bag) (CacheSerializer, error)
}
type CacheSerializerFactory ¶
type ClosableProvider ¶
type Config ¶
type Config interface {
Entries() []string
Has(path string) bool
Get(path string, def ...any) any
Bool(path string, def ...bool) bool
Int(path string, def ...int) int
Int8(path string, def ...int8) int8
Int16(path string, def ...int16) int16
Int32(path string, def ...int32) int32
Int64(path string, def ...int64) int64
Uint(path string, def ...uint) uint
Uint8(path string, def ...uint8) uint8
Uint16(path string, def ...uint16) uint16
Uint32(path string, def ...uint32) uint32
Uint64(path string, def ...uint64) uint64
Float32(path string, def ...float32) float32
Float64(path string, def ...float64) float64
String(path string, def ...string) string
StringMap(path string, def ...map[string]any) map[string]any
StringMapString(path string, def ...map[string]string) map[string]string
Slice(path string, def ...[]any) []any
StringSlice(path string, def ...[]string) []string
Duration(path string, def ...time.Duration) time.Duration
Bag(path string, def ...Bag) Bag
Set(path string, value any) error
Populate(target any, path ...string) error
HasObserver(id, path string) bool
AddObserver(id, path string, callback ConfigObserver) error
RemoveObserver(id string) error
}
type ConfigObserver ¶
type ConfigObserver func(old, new any)
type ConfigParserCreator ¶
type ConfigParserCreator interface {
Accept(config Bag) bool
Create(config Bag) (ConfigParser, error)
}
type ConfigParserFactory ¶
type ConfigRestClient ¶
type ConfigRestClientGenerator ¶
type ConfigRestClientGenerator interface {
Create() (ConfigRestClient, error)
}
type ConfigSource ¶
type ConfigSourceCreator ¶
type ConfigSourceCreator interface {
Accept(config Bag) bool
Create(config Bag) (ConfigSource, error)
}
type ConfigSourceFactory ¶
type ConfigurableProvider ¶
type DatabaseConfig ¶
type DatabaseConfigCreator ¶
type DatabaseConfigCreator interface {
Accept(config Bag) bool
Create(config Bag) (DatabaseConfig, error)
}
type DatabaseConfigFactory ¶
type DatabaseConnection ¶
type DatabaseConnection interface {
AddError(e error) error
Assign(attrs ...interface{}) *gorm.DB
Association(column string) *gorm.Association
Attrs(attrs ...interface{}) *gorm.DB
AutoMigrate(dst ...interface{}) error
Begin(opts ...*sql.TxOptions) *gorm.DB
Clauses(conds ...clause.Expression) *gorm.DB
Commit() *gorm.DB
Connection(fc func(*gorm.DB) error) error
Count(count *int64) *gorm.DB
Create(value interface{}) *gorm.DB
CreateInBatches(value interface{}, batchSize int) *gorm.DB
DB() (*sql.DB, error)
Debug() *gorm.DB
Delete(value interface{}, conds ...interface{}) *gorm.DB
Distinct(args ...interface{}) *gorm.DB
Exec(sql string, values ...interface{}) *gorm.DB
Find(dest interface{}, conds ...interface{}) *gorm.DB
FindInBatches(dest interface{}, batchSize int, fc func(tx *gorm.DB, batch int) error) *gorm.DB
First(dest interface{}, conds ...interface{}) *gorm.DB
FirstOrCreate(dest interface{}, conds ...interface{}) *gorm.DB
FirstOrInit(dest interface{}, conds ...interface{}) *gorm.DB
Get(key string) (interface{}, bool)
Group(name string) *gorm.DB
Having(query interface{}, args ...interface{}) *gorm.DB
InnerJoins(query string, args ...interface{}) *gorm.DB
InstanceGet(key string) (interface{}, bool)
InstanceSet(key string, value interface{}) *gorm.DB
Joins(query string, args ...interface{}) *gorm.DB
Last(dest interface{}, conds ...interface{}) *gorm.DB
Limit(limit int) *gorm.DB
MapColumns(m map[string]string) *gorm.DB
Migrator() gorm.Migrator
Model(value interface{}) *gorm.DB
Not(query interface{}, args ...interface{}) *gorm.DB
Offset(offset int) *gorm.DB
Omit(columns ...string) *gorm.DB
Or(query interface{}, args ...interface{}) *gorm.DB
Order(value interface{}) *gorm.DB
Pluck(column string, dest interface{}) *gorm.DB
Preload(query string, args ...interface{}) *gorm.DB
Raw(sql string, values ...interface{}) *gorm.DB
Rollback() *gorm.DB
RollbackTo(name string) *gorm.DB
Row() *sql.Row
Rows() (*sql.Rows, error)
Save(value interface{}) *gorm.DB
SavePoint(name string) *gorm.DB
Scan(dest interface{}) *gorm.DB
ScanRows(rows *sql.Rows, dest interface{}) error
Scopes(funcs ...func(*gorm.DB) *gorm.DB) *gorm.DB
Select(query interface{}, args ...interface{}) *gorm.DB
Session(config *gorm.Session) *gorm.DB
Set(key string, value interface{}) *gorm.DB
SetupJoinTable(model interface{}, field string, joinTable interface{}) error
Table(name string, args ...interface{}) *gorm.DB
Take(dest interface{}, conds ...interface{}) *gorm.DB
ToSQL(queryFn func(tx *gorm.DB) *gorm.DB) string
Transaction(fc func(tx *gorm.DB) error, opts ...*sql.TxOptions) error
Unscoped() *gorm.DB
Update(column string, value interface{}) *gorm.DB
UpdateColumn(column string, value interface{}) *gorm.DB
UpdateColumns(values interface{}) *gorm.DB
Updates(values interface{}) *gorm.DB
Use(plugin gorm.Plugin) error
Where(query interface{}, args ...interface{}) *gorm.DB
WithContext(ctx context.Context) *gorm.DB
}
type DatabaseDialect ¶
type DatabaseDialectCreator ¶
type DatabaseDialectCreator interface {
Accept(config Bag) bool
Create(config Bag) (DatabaseDialect, error)
}
type DatabaseDialectFactory ¶
type DiskCreator ¶
type DiskFactory ¶
type Error ¶
type Executor ¶
func NewExecutor ¶
func NewExecutor() Executor
type Factory ¶
type Factory[R FactoryResource] interface { io.Closer Available() []string Stored() []string Has(id string) bool Get(id string) (R, error) Store(id string, value R) error Generate(id string) (R, error) GenerateAll() error Remove(id string) error RemoveAll() error }
func NewFactory ¶
func NewFactory[R FactoryResource]( creators []FactoryResourceCreator[R], factoryConfig FactoryConfig, factoryConfigValidator FactoryConfigValidator, factoryConfigPath string, ) (Factory[R], error)
type FactoryConfig ¶
type FactoryConfigValidator ¶
func DriverFactoryConfigValidator ¶
func DriverFactoryConfigValidator( resourceName string, ) FactoryConfigValidator
type FactoryResource ¶
type FactoryResource any
type FactoryResourceCreator ¶
type FactoryResourceCreator[R FactoryResource] interface { Accept(config Bag) bool Create(config Bag) (R, error) }
type LogSerializer ¶
type LogSerializerCreator ¶
type LogSerializerCreator interface {
Accept(config Bag) bool
Create(config Bag) (LogSerializer, error)
}
type LogSerializerFactory ¶
type LogStream ¶
type LogStream interface {
Close() error
GetLevel() LogLevel
SetLevel(level LogLevel) error
HasChannel(channel string) bool
ListChannels() []string
AddChannel(channel string) error
RemoveChannel(channel string) error
RemoveAllChannels() error
Signal(timestamp time.Time, level LogLevel, channel, message string, ctx Bag) error
Broadcast(timestamp time.Time, level LogLevel, message string, ctx Bag) error
}
type LogStreamCreator ¶
type LogStreamFactory ¶
type Logger ¶
type Logger interface {
Signal(level LogLevel, channel, message string, ctx ...Bag)
SignalFatal(channel, message string, ctx ...Bag)
SignalError(channel, message string, ctx ...Bag)
SignalWarning(channel, message string, ctx ...Bag)
SignalNotice(channel, message string, ctx ...Bag)
SignalInfo(channel, message string, ctx ...Bag)
SignalDebug(channel, message string, ctx ...Bag)
Broadcast(level LogLevel, message string, ctx ...Bag)
BroadcastFatal(message string, ctx ...Bag)
BroadcastError(message string, ctx ...Bag)
BroadcastWarning(message string, ctx ...Bag)
BroadcastNotice(message string, ctx ...Bag)
BroadcastInfo(message string, ctx ...Bag)
BroadcastDebug(message string, ctx ...Bag)
Flush() error
}
type Migration ¶
type Migration interface {
Group() string
Version() string
Description() string
Up(connection DatabaseConnection) error
Down(connection DatabaseConnection) error
}
type MigrationInfo ¶
type Migrator ¶
type Migrator interface {
List() ([]MigrationInfo, error)
Current() (*MigrationInfo, error)
CanUp() bool
CanDown() bool
Up() error
UpAll() error
Down() error
DownAll() error
}
type MigratorCreator ¶
type MigratorFactory ¶
type MigratorLogger ¶
type MigratorLogger interface {
LogUpStart(info MigrationInfo)
LogUpError(info MigrationInfo, e error)
LogUpDone(info MigrationInfo)
LogDownStart(info MigrationInfo)
LogDownError(info MigrationInfo, e error)
LogDownDone(info MigrationInfo)
}
type MigratorLoggerCreator ¶
type MigratorLoggerCreator interface {
Accept(config Bag) bool
Create(config Bag) (MigratorLogger, error)
}
type MigratorLoggerFactory ¶
type ObservableConfigSource ¶
type ObservableConfigSource interface {
ConfigSource
Reload() (bool, error)
}
type PubSub ¶
type PubSub[I comparable, C comparable] interface { Subscribe(id I, channel C, handler PubSubHandler[I, C]) error Unsubscribe(id I, channel C) error Publish(channel C, data ...any) error }
func NewPubSub ¶
func NewPubSub[I comparable, C comparable]() PubSub[I, C]
type PubSubHandler ¶
type PubSubHandler[I comparable, C comparable] func(channel C, data ...any) error
type RedisConnection ¶
type RedisConnection interface {
ACLDryRun(ctx context.Context, username string, command ...interface{}) *redis.StringCmd
ACLLog(ctx context.Context, count int64) *redis.ACLLogCmd
ACLLogReset(ctx context.Context) *redis.StatusCmd
AddHook(hook redis.Hook)
Append(ctx context.Context, key, value string) *redis.IntCmd
BFAdd(ctx context.Context, key string, element interface{}) *redis.BoolCmd
BFCard(ctx context.Context, key string) *redis.IntCmd
BFExists(ctx context.Context, key string, element interface{}) *redis.BoolCmd
BFInfo(ctx context.Context, key string) *redis.BFInfoCmd
BFInfoArg(ctx context.Context, key, option string) *redis.BFInfoCmd
BFInfoCapacity(ctx context.Context, key string) *redis.BFInfoCmd
BFInfoExpansion(ctx context.Context, key string) *redis.BFInfoCmd
BFInfoFilters(ctx context.Context, key string) *redis.BFInfoCmd
BFInfoItems(ctx context.Context, key string) *redis.BFInfoCmd
BFInfoSize(ctx context.Context, key string) *redis.BFInfoCmd
BFInsert(ctx context.Context, key string, options *redis.BFInsertOptions, elements ...interface{}) *redis.BoolSliceCmd
BFLoadChunk(ctx context.Context, key string, iterator int64, data interface{}) *redis.StatusCmd
BFMAdd(ctx context.Context, key string, elements ...interface{}) *redis.BoolSliceCmd
BFMExists(ctx context.Context, key string, elements ...interface{}) *redis.BoolSliceCmd
BFReserve(ctx context.Context, key string, errorRate float64, capacity int64) *redis.StatusCmd
BFReserveExpansion(ctx context.Context, key string, errorRate float64, capacity, expansion int64) *redis.StatusCmd
BFReserveNonScaling(ctx context.Context, key string, errorRate float64, capacity int64) *redis.StatusCmd
BFReserveWithArgs(ctx context.Context, key string, options *redis.BFReserveOptions) *redis.StatusCmd
BFScanDump(ctx context.Context, key string, iterator int64) *redis.ScanDumpCmd
BLMPop(ctx context.Context, timeout time.Duration, direction string, count int64, keys ...string) *redis.KeyValuesCmd
BLMove(ctx context.Context, source, destination, srcpos, destpos string, imeout time.Duration) *redis.StringCmd
BLPop(ctx context.Context, timeout time.Duration, keys ...string) *redis.StringSliceCmd
BRPop(ctx context.Context, timeout time.Duration, keys ...string) *redis.StringSliceCmd
BRPopLPush(ctx context.Context, source, destination string, timeout time.Duration) *redis.StringCmd
BZMPop(ctx context.Context, timeout time.Duration, order string, count int64, keys ...string) *redis.ZSliceWithKeyCmd
BZPopMax(ctx context.Context, timeout time.Duration, keys ...string) *redis.ZWithKeyCmd
BZPopMin(ctx context.Context, timeout time.Duration, keys ...string) *redis.ZWithKeyCmd
BgRewriteAOF(ctx context.Context) *redis.StatusCmd
BgSave(ctx context.Context) *redis.StatusCmd
BitCount(ctx context.Context, key string, bitCount *redis.BitCount) *redis.IntCmd
BitField(ctx context.Context, key string, values ...interface{}) *redis.IntSliceCmd
BitFieldRO(ctx context.Context, key string, values ...interface{}) *redis.IntSliceCmd
BitOpAnd(ctx context.Context, destKey string, keys ...string) *redis.IntCmd
BitOpNot(ctx context.Context, destKey string, key string) *redis.IntCmd
BitOpOr(ctx context.Context, destKey string, keys ...string) *redis.IntCmd
BitOpXor(ctx context.Context, destKey string, keys ...string) *redis.IntCmd
BitPos(ctx context.Context, key string, bit int64, pos ...int64) *redis.IntCmd
BitPosSpan(ctx context.Context, key string, bit int8, start, end int64, span string) *redis.IntCmd
CFAdd(ctx context.Context, key string, element interface{}) *redis.BoolCmd
CFAddNX(ctx context.Context, key string, element interface{}) *redis.BoolCmd
CFCount(ctx context.Context, key string, element interface{}) *redis.IntCmd
CFDel(ctx context.Context, key string, element interface{}) *redis.BoolCmd
CFExists(ctx context.Context, key string, element interface{}) *redis.BoolCmd
CFInfo(ctx context.Context, key string) *redis.CFInfoCmd
CFInsert(ctx context.Context, key string, options *redis.CFInsertOptions, elements ...interface{}) *redis.BoolSliceCmd
CFInsertNX(ctx context.Context, key string, options *redis.CFInsertOptions, elements ...interface{}) *redis.IntSliceCmd
CFLoadChunk(ctx context.Context, key string, iterator int64, data interface{}) *redis.StatusCmd
CFMExists(ctx context.Context, key string, elements ...interface{}) *redis.BoolSliceCmd
CFReserve(ctx context.Context, key string, capacity int64) *redis.StatusCmd
CFReserveBucketSize(ctx context.Context, key string, capacity int64, bucketsize int64) *redis.StatusCmd
CFReserveExpansion(ctx context.Context, key string, capacity int64, expansion int64) *redis.StatusCmd
CFReserveMaxIterations(ctx context.Context, key string, capacity int64, maxiterations int64) *redis.StatusCmd
CFReserveWithArgs(ctx context.Context, key string, options *redis.CFReserveOptions) *redis.StatusCmd
CFScanDump(ctx context.Context, key string, iterator int64) *redis.ScanDumpCmd
CMSIncrBy(ctx context.Context, key string, elements ...interface{}) *redis.IntSliceCmd
CMSInfo(ctx context.Context, key string) *redis.CMSInfoCmd
CMSInitByDim(ctx context.Context, key string, width, depth int64) *redis.StatusCmd
CMSInitByProb(ctx context.Context, key string, errorRate, probability float64) *redis.StatusCmd
CMSMerge(ctx context.Context, destKey string, sourceKeys ...string) *redis.StatusCmd
CMSMergeWithWeight(ctx context.Context, destKey string, sourceKeys map[string]int64) *redis.StatusCmd
CMSQuery(ctx context.Context, key string, elements ...interface{}) *redis.IntSliceCmd
ClientGetName(ctx context.Context) *redis.StringCmd
ClientID(ctx context.Context) *redis.IntCmd
ClientInfo(ctx context.Context) *redis.ClientInfoCmd
ClientKill(ctx context.Context, ipPort string) *redis.StatusCmd
ClientKillByFilter(ctx context.Context, keys ...string) *redis.IntCmd
ClientList(ctx context.Context) *redis.StringCmd
ClientPause(ctx context.Context, dur time.Duration) *redis.BoolCmd
ClientUnblock(ctx context.Context, id int64) *redis.IntCmd
ClientUnblockWithError(ctx context.Context, id int64) *redis.IntCmd
ClientUnpause(ctx context.Context) *redis.BoolCmd
Close() error
ClusterAddSlots(ctx context.Context, slots ...int) *redis.StatusCmd
ClusterAddSlotsRange(ctx context.Context, min, max int) *redis.StatusCmd
ClusterCountFailureReports(ctx context.Context, nodeID string) *redis.IntCmd
ClusterCountKeysInSlot(ctx context.Context, slot int) *redis.IntCmd
ClusterDelSlots(ctx context.Context, slots ...int) *redis.StatusCmd
ClusterDelSlotsRange(ctx context.Context, min, max int) *redis.StatusCmd
ClusterFailover(ctx context.Context) *redis.StatusCmd
ClusterForget(ctx context.Context, nodeID string) *redis.StatusCmd
ClusterGetKeysInSlot(ctx context.Context, slot int, count int) *redis.StringSliceCmd
ClusterInfo(ctx context.Context) *redis.StringCmd
ClusterKeySlot(ctx context.Context, key string) *redis.IntCmd
ClusterLinks(ctx context.Context) *redis.ClusterLinksCmd
ClusterMeet(ctx context.Context, host, port string) *redis.StatusCmd
ClusterMyShardID(ctx context.Context) *redis.StringCmd
ClusterNodes(ctx context.Context) *redis.StringCmd
ClusterReplicate(ctx context.Context, nodeID string) *redis.StatusCmd
ClusterResetHard(ctx context.Context) *redis.StatusCmd
ClusterResetSoft(ctx context.Context) *redis.StatusCmd
ClusterSaveConfig(ctx context.Context) *redis.StatusCmd
ClusterShards(ctx context.Context) *redis.ClusterShardsCmd
ClusterSlaves(ctx context.Context, nodeID string) *redis.StringSliceCmd
ClusterSlots(ctx context.Context) *redis.ClusterSlotsCmd
Command(ctx context.Context) *redis.CommandsInfoCmd
CommandGetKeys(ctx context.Context, commands ...interface{}) *redis.StringSliceCmd
CommandGetKeysAndFlags(ctx context.Context, commands ...interface{}) *redis.KeyFlagsCmd
CommandList(ctx context.Context, filter *redis.FilterBy) *redis.StringSliceCmd
ConfigGet(ctx context.Context, parameter string) *redis.MapStringStringCmd
ConfigResetStat(ctx context.Context) *redis.StatusCmd
ConfigRewrite(ctx context.Context) *redis.StatusCmd
ConfigSet(ctx context.Context, parameter, value string) *redis.StatusCmd
Conn() *redis.Conn
Copy(ctx context.Context, sourceKey, destKey string, db int, replace bool) *redis.IntCmd
DBSize(ctx context.Context) *redis.IntCmd
DebugObject(ctx context.Context, key string) *redis.StringCmd
Decr(ctx context.Context, key string) *redis.IntCmd
DecrBy(ctx context.Context, key string, decrement int64) *redis.IntCmd
Del(ctx context.Context, keys ...string) *redis.IntCmd
Do(ctx context.Context, args ...interface{}) *redis.Cmd
Dump(ctx context.Context, key string) *redis.StringCmd
Echo(ctx context.Context, message interface{}) *redis.StringCmd
Eval(ctx context.Context, script string, keys []string, args ...interface{}) *redis.Cmd
EvalRO(ctx context.Context, script string, keys []string, args ...interface{}) *redis.Cmd
EvalSha(ctx context.Context, sha1 string, keys []string, args ...interface{}) *redis.Cmd
EvalShaRO(ctx context.Context, sha1 string, keys []string, args ...interface{}) *redis.Cmd
Exists(ctx context.Context, keys ...string) *redis.IntCmd
Expire(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
ExpireAt(ctx context.Context, key string, tm time.Time) *redis.BoolCmd
ExpireGT(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
ExpireLT(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
ExpireNX(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
ExpireTime(ctx context.Context, key string) *redis.DurationCmd
ExpireXX(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
FCall(ctx context.Context, function string, keys []string, args ...interface{}) *redis.Cmd
FCallRO(ctx context.Context, function string, keys []string, args ...interface{}) *redis.Cmd
FCallRo(ctx context.Context, function string, keys []string, args ...interface{}) *redis.Cmd
FTAggregate(ctx context.Context, index string, query string) *redis.MapStringInterfaceCmd
FTAggregateWithArgs(ctx context.Context, index string, query string, options *redis.FTAggregateOptions) *redis.AggregateCmd
FTAliasAdd(ctx context.Context, index string, alias string) *redis.StatusCmd
FTAliasDel(ctx context.Context, alias string) *redis.StatusCmd
FTAliasUpdate(ctx context.Context, index string, alias string) *redis.StatusCmd
FTAlter(ctx context.Context, index string, skipInitialScan bool, definition []interface{}) *redis.StatusCmd
FTConfigGet(ctx context.Context, option string) *redis.MapMapStringInterfaceCmd
FTConfigSet(ctx context.Context, option string, value interface{}) *redis.StatusCmd
FTCreate(ctx context.Context, index string, options *redis.FTCreateOptions, schema ...*redis.FieldSchema) *redis.StatusCmd
FTCursorDel(ctx context.Context, index string, cursorId int) *redis.StatusCmd
FTCursorRead(ctx context.Context, index string, cursorId int, count int) *redis.MapStringInterfaceCmd
FTDictAdd(ctx context.Context, dict string, term ...interface{}) *redis.IntCmd
FTDictDel(ctx context.Context, dict string, term ...interface{}) *redis.IntCmd
FTDictDump(ctx context.Context, dict string) *redis.StringSliceCmd
FTDropIndex(ctx context.Context, index string) *redis.StatusCmd
FTDropIndexWithArgs(ctx context.Context, index string, options *redis.FTDropIndexOptions) *redis.StatusCmd
FTExplain(ctx context.Context, index string, query string) *redis.StringCmd
FTExplainCli(ctx context.Context, key, path string) error
FTExplainWithArgs(ctx context.Context, index string, query string, options *redis.FTExplainOptions) *redis.StringCmd
FTInfo(ctx context.Context, index string) *redis.FTInfoCmd
FTSearch(ctx context.Context, index string, query string) *redis.FTSearchCmd
FTSearchWithArgs(ctx context.Context, index string, query string, options *redis.FTSearchOptions) *redis.FTSearchCmd
FTSpellCheck(ctx context.Context, index string, query string) *redis.FTSpellCheckCmd
FTSpellCheckWithArgs(ctx context.Context, index string, query string, options *redis.FTSpellCheckOptions) *redis.FTSpellCheckCmd
FTSynDump(ctx context.Context, index string) *redis.FTSynDumpCmd
FTSynUpdate(ctx context.Context, index string, synGroupId interface{}, terms []interface{}) *redis.StatusCmd
FTSynUpdateWithArgs(ctx context.Context, index string, synGroupId interface{}, options *redis.FTSynUpdateOptions, terms []interface{}) *redis.StatusCmd
FTTagVals(ctx context.Context, index string, field string) *redis.StringSliceCmd
FT_List(ctx context.Context) *redis.StringSliceCmd
FlushAll(ctx context.Context) *redis.StatusCmd
FlushAllAsync(ctx context.Context) *redis.StatusCmd
FlushDB(ctx context.Context) *redis.StatusCmd
FlushDBAsync(ctx context.Context) *redis.StatusCmd
FunctionDelete(ctx context.Context, libName string) *redis.StringCmd
FunctionDump(ctx context.Context) *redis.StringCmd
FunctionFlush(ctx context.Context) *redis.StringCmd
FunctionFlushAsync(ctx context.Context) *redis.StringCmd
FunctionKill(ctx context.Context) *redis.StringCmd
FunctionList(ctx context.Context, q redis.FunctionListQuery) *redis.FunctionListCmd
FunctionLoad(ctx context.Context, code string) *redis.StringCmd
FunctionLoadReplace(ctx context.Context, code string) *redis.StringCmd
FunctionRestore(ctx context.Context, libDump string) *redis.StringCmd
FunctionStats(ctx context.Context) *redis.FunctionStatsCmd
GeoAdd(ctx context.Context, key string, geoLocation ...*redis.GeoLocation) *redis.IntCmd
GeoDist(ctx context.Context, key string, member1, member2, unit string) *redis.FloatCmd
GeoHash(ctx context.Context, key string, members ...string) *redis.StringSliceCmd
GeoPos(ctx context.Context, key string, members ...string) *redis.GeoPosCmd
GeoRadius(ctx context.Context, key string, longitude, latitude float64, query *redis.GeoRadiusQuery) *redis.GeoLocationCmd
GeoRadiusByMember(ctx context.Context, key, member string, query *redis.GeoRadiusQuery) *redis.GeoLocationCmd
GeoRadiusByMemberStore(ctx context.Context, key, member string, query *redis.GeoRadiusQuery) *redis.IntCmd
GeoRadiusStore(ctx context.Context, key string, longitude, latitude float64, query *redis.GeoRadiusQuery) *redis.IntCmd
GeoSearch(ctx context.Context, key string, q *redis.GeoSearchQuery) *redis.StringSliceCmd
GeoSearchLocation(ctx context.Context, key string, q *redis.GeoSearchLocationQuery) *redis.GeoSearchLocationCmd
GeoSearchStore(ctx context.Context, key, store string, q *redis.GeoSearchStoreQuery) *redis.IntCmd
Get(ctx context.Context, key string) *redis.StringCmd
GetBit(ctx context.Context, key string, offset int64) *redis.IntCmd
GetDel(ctx context.Context, key string) *redis.StringCmd
GetEx(ctx context.Context, key string, expiration time.Duration) *redis.StringCmd
GetRange(ctx context.Context, key string, start, end int64) *redis.StringCmd
GetSet(ctx context.Context, key string, value interface{}) *redis.StringCmd
HDel(ctx context.Context, key string, fields ...string) *redis.IntCmd
HExists(ctx context.Context, key, field string) *redis.BoolCmd
HExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *redis.IntSliceCmd
HExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *redis.IntSliceCmd
HExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs redis.HExpireArgs, fields ...string) *redis.IntSliceCmd
HExpireTime(ctx context.Context, key string, fields ...string) *redis.IntSliceCmd
HExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs redis.HExpireArgs, fields ...string) *redis.IntSliceCmd
HGet(ctx context.Context, key, field string) *redis.StringCmd
HGetAll(ctx context.Context, key string) *redis.MapStringStringCmd
HIncrBy(ctx context.Context, key, field string, incr int64) *redis.IntCmd
HIncrByFloat(ctx context.Context, key, field string, incr float64) *redis.FloatCmd
HKeys(ctx context.Context, key string) *redis.StringSliceCmd
HLen(ctx context.Context, key string) *redis.IntCmd
HMGet(ctx context.Context, key string, fields ...string) *redis.SliceCmd
HMSet(ctx context.Context, key string, values ...interface{}) *redis.BoolCmd
HPExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *redis.IntSliceCmd
HPExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *redis.IntSliceCmd
HPExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs redis.HExpireArgs, fields ...string) *redis.IntSliceCmd
HPExpireTime(ctx context.Context, key string, fields ...string) *redis.IntSliceCmd
HPExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs redis.HExpireArgs, fields ...string) *redis.IntSliceCmd
HPTTL(ctx context.Context, key string, fields ...string) *redis.IntSliceCmd
HPersist(ctx context.Context, key string, fields ...string) *redis.IntSliceCmd
HRandField(ctx context.Context, key string, count int) *redis.StringSliceCmd
HRandFieldWithValues(ctx context.Context, key string, count int) *redis.KeyValueSliceCmd
HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *redis.ScanCmd
HScanNoValues(ctx context.Context, key string, cursor uint64, match string, count int64) *redis.ScanCmd
HSet(ctx context.Context, key string, values ...interface{}) *redis.IntCmd
HSetNX(ctx context.Context, key, field string, value interface{}) *redis.BoolCmd
HTTL(ctx context.Context, key string, fields ...string) *redis.IntSliceCmd
HVals(ctx context.Context, key string) *redis.StringSliceCmd
Incr(ctx context.Context, key string) *redis.IntCmd
IncrBy(ctx context.Context, key string, value int64) *redis.IntCmd
IncrByFloat(ctx context.Context, key string, value float64) *redis.FloatCmd
Info(ctx context.Context, sections ...string) *redis.StringCmd
InfoMap(ctx context.Context, sections ...string) *redis.InfoCmd
JSONArrAppend(ctx context.Context, key, path string, values ...interface{}) *redis.IntSliceCmd
JSONArrIndex(ctx context.Context, key, path string, value ...interface{}) *redis.IntSliceCmd
JSONArrIndexWithArgs(ctx context.Context, key, path string, options *redis.JSONArrIndexArgs, value ...interface{}) *redis.IntSliceCmd
JSONArrInsert(ctx context.Context, key, path string, index int64, values ...interface{}) *redis.IntSliceCmd
JSONArrLen(ctx context.Context, key, path string) *redis.IntSliceCmd
JSONArrPop(ctx context.Context, key, path string, index int) *redis.StringSliceCmd
JSONArrTrim(ctx context.Context, key, path string) *redis.IntSliceCmd
JSONArrTrimWithArgs(ctx context.Context, key, path string, options *redis.JSONArrTrimArgs) *redis.IntSliceCmd
JSONClear(ctx context.Context, key, path string) *redis.IntCmd
JSONDebugMemory(ctx context.Context, key, path string) *redis.IntCmd
JSONDel(ctx context.Context, key, path string) *redis.IntCmd
JSONForget(ctx context.Context, key, path string) *redis.IntCmd
JSONGet(ctx context.Context, key string, paths ...string) *redis.JSONCmd
JSONGetWithArgs(ctx context.Context, key string, options *redis.JSONGetArgs, paths ...string) *redis.JSONCmd
JSONMGet(ctx context.Context, path string, keys ...string) *redis.JSONSliceCmd
JSONMSet(ctx context.Context, params ...interface{}) *redis.StatusCmd
JSONMSetArgs(ctx context.Context, docs []redis.JSONSetArgs) *redis.StatusCmd
JSONMerge(ctx context.Context, key, path string, value string) *redis.StatusCmd
JSONNumIncrBy(ctx context.Context, key, path string, value float64) *redis.JSONCmd
JSONObjKeys(ctx context.Context, key, path string) *redis.SliceCmd
JSONObjLen(ctx context.Context, key, path string) *redis.IntPointerSliceCmd
JSONSet(ctx context.Context, key, path string, value interface{}) *redis.StatusCmd
JSONSetMode(ctx context.Context, key, path string, value interface{}, mode string) *redis.StatusCmd
JSONStrAppend(ctx context.Context, key, path, value string) *redis.IntPointerSliceCmd
JSONStrLen(ctx context.Context, key, path string) *redis.IntPointerSliceCmd
JSONToggle(ctx context.Context, key, path string) *redis.IntPointerSliceCmd
JSONType(ctx context.Context, key, path string) *redis.JSONSliceCmd
Keys(ctx context.Context, pattern string) *redis.StringSliceCmd
LCS(ctx context.Context, q *redis.LCSQuery) *redis.LCSCmd
LIndex(ctx context.Context, key string, index int64) *redis.StringCmd
LInsert(ctx context.Context, key, op string, pivot, value interface{}) *redis.IntCmd
LInsertAfter(ctx context.Context, key string, pivot, value interface{}) *redis.IntCmd
LInsertBefore(ctx context.Context, key string, pivot, value interface{}) *redis.IntCmd
LLen(ctx context.Context, key string) *redis.IntCmd
LMPop(ctx context.Context, direction string, count int64, keys ...string) *redis.KeyValuesCmd
LMove(ctx context.Context, source, destination, srcpos, destpos string) *redis.StringCmd
LPop(ctx context.Context, key string) *redis.StringCmd
LPopCount(ctx context.Context, key string, count int) *redis.StringSliceCmd
LPos(ctx context.Context, key string, value string, a redis.LPosArgs) *redis.IntCmd
LPosCount(ctx context.Context, key string, value string, count int64, a redis.LPosArgs) *redis.IntSliceCmd
LPush(ctx context.Context, key string, values ...interface{}) *redis.IntCmd
LPushX(ctx context.Context, key string, values ...interface{}) *redis.IntCmd
LRange(ctx context.Context, key string, start, stop int64) *redis.StringSliceCmd
LRem(ctx context.Context, key string, count int64, value interface{}) *redis.IntCmd
LSet(ctx context.Context, key string, index int64, value interface{}) *redis.StatusCmd
LTrim(ctx context.Context, key string, start, stop int64) *redis.StatusCmd
LastSave(ctx context.Context) *redis.IntCmd
MGet(ctx context.Context, keys ...string) *redis.SliceCmd
MSet(ctx context.Context, values ...interface{}) *redis.StatusCmd
MSetNX(ctx context.Context, values ...interface{}) *redis.BoolCmd
MemoryUsage(ctx context.Context, key string, samples ...int) *redis.IntCmd
Migrate(ctx context.Context, host, port, key string, db int, timeout time.Duration) *redis.StatusCmd
ModuleLoadex(ctx context.Context, conf *redis.ModuleLoadexConfig) *redis.StringCmd
Monitor(ctx context.Context, ch chan string) *redis.MonitorCmd
Move(ctx context.Context, key string, db int) *redis.BoolCmd
ObjectEncoding(ctx context.Context, key string) *redis.StringCmd
ObjectFreq(ctx context.Context, key string) *redis.IntCmd
ObjectIdleTime(ctx context.Context, key string) *redis.DurationCmd
ObjectRefCount(ctx context.Context, key string) *redis.IntCmd
Options() *redis.Options
PExpire(ctx context.Context, key string, expiration time.Duration) *redis.BoolCmd
PExpireAt(ctx context.Context, key string, tm time.Time) *redis.BoolCmd
PExpireTime(ctx context.Context, key string) *redis.DurationCmd
PFAdd(ctx context.Context, key string, els ...interface{}) *redis.IntCmd
PFCount(ctx context.Context, keys ...string) *redis.IntCmd
PFMerge(ctx context.Context, dest string, keys ...string) *redis.StatusCmd
PSubscribe(ctx context.Context, channels ...string) *redis.PubSub
PTTL(ctx context.Context, key string) *redis.DurationCmd
Persist(ctx context.Context, key string) *redis.BoolCmd
Ping(ctx context.Context) *redis.StatusCmd
Pipeline() redis.Pipeliner
Pipelined(ctx context.Context, fn func(redis.Pipeliner) error) ([]redis.Cmder, error)
PoolStats() *redis.PoolStats
Process(ctx context.Context, cmd redis.Cmder) error
PubSubChannels(ctx context.Context, pattern string) *redis.StringSliceCmd
PubSubNumPat(ctx context.Context) *redis.IntCmd
PubSubNumSub(ctx context.Context, channels ...string) *redis.MapStringIntCmd
PubSubShardChannels(ctx context.Context, pattern string) *redis.StringSliceCmd
PubSubShardNumSub(ctx context.Context, channels ...string) *redis.MapStringIntCmd
Publish(ctx context.Context, channel string, message interface{}) *redis.IntCmd
Quit(_ context.Context) *redis.StatusCmd
RPop(ctx context.Context, key string) *redis.StringCmd
RPopCount(ctx context.Context, key string, count int) *redis.StringSliceCmd
RPopLPush(ctx context.Context, source, destination string) *redis.StringCmd
RPush(ctx context.Context, key string, values ...interface{}) *redis.IntCmd
RPushX(ctx context.Context, key string, values ...interface{}) *redis.IntCmd
RandomKey(ctx context.Context) *redis.StringCmd
ReadOnly(ctx context.Context) *redis.StatusCmd
ReadWrite(ctx context.Context) *redis.StatusCmd
Rename(ctx context.Context, key, newkey string) *redis.StatusCmd
RenameNX(ctx context.Context, key, newkey string) *redis.BoolCmd
Restore(ctx context.Context, key string, ttl time.Duration, value string) *redis.StatusCmd
RestoreReplace(ctx context.Context, key string, ttl time.Duration, value string) *redis.StatusCmd
SAdd(ctx context.Context, key string, members ...interface{}) *redis.IntCmd
SCard(ctx context.Context, key string) *redis.IntCmd
SDiff(ctx context.Context, keys ...string) *redis.StringSliceCmd
SDiffStore(ctx context.Context, destination string, keys ...string) *redis.IntCmd
SInter(ctx context.Context, keys ...string) *redis.StringSliceCmd
SInterCard(ctx context.Context, limit int64, keys ...string) *redis.IntCmd
SInterStore(ctx context.Context, destination string, keys ...string) *redis.IntCmd
SIsMember(ctx context.Context, key string, member interface{}) *redis.BoolCmd
SMIsMember(ctx context.Context, key string, members ...interface{}) *redis.BoolSliceCmd
SMembers(ctx context.Context, key string) *redis.StringSliceCmd
SMembersMap(ctx context.Context, key string) *redis.StringStructMapCmd
SMove(ctx context.Context, source, destination string, member interface{}) *redis.BoolCmd
SPop(ctx context.Context, key string) *redis.StringCmd
SPopN(ctx context.Context, key string, count int64) *redis.StringSliceCmd
SPublish(ctx context.Context, channel string, message interface{}) *redis.IntCmd
SRandMember(ctx context.Context, key string) *redis.StringCmd
SRandMemberN(ctx context.Context, key string, count int64) *redis.StringSliceCmd
SRem(ctx context.Context, key string, members ...interface{}) *redis.IntCmd
SScan(ctx context.Context, key string, cursor uint64, match string, count int64) *redis.ScanCmd
SSubscribe(ctx context.Context, channels ...string) *redis.PubSub
SUnion(ctx context.Context, keys ...string) *redis.StringSliceCmd
SUnionStore(ctx context.Context, destination string, keys ...string) *redis.IntCmd
Save(ctx context.Context) *redis.StatusCmd
Scan(ctx context.Context, cursor uint64, match string, count int64) *redis.ScanCmd
ScanType(ctx context.Context, cursor uint64, match string, count int64, keyType string) *redis.ScanCmd
ScriptExists(ctx context.Context, hashes ...string) *redis.BoolSliceCmd
ScriptFlush(ctx context.Context) *redis.StatusCmd
ScriptKill(ctx context.Context) *redis.StatusCmd
ScriptLoad(ctx context.Context, script string) *redis.StringCmd
Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.StatusCmd
SetArgs(ctx context.Context, key string, value interface{}, a redis.SetArgs) *redis.StatusCmd
SetBit(ctx context.Context, key string, offset int64, value int) *redis.IntCmd
SetEx(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.StatusCmd
SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.BoolCmd
SetRange(ctx context.Context, key string, offset int64, value string) *redis.IntCmd
SetXX(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.BoolCmd
Shutdown(ctx context.Context) *redis.StatusCmd
ShutdownNoSave(ctx context.Context) *redis.StatusCmd
ShutdownSave(ctx context.Context) *redis.StatusCmd
SlaveOf(ctx context.Context, host, port string) *redis.StatusCmd
SlowLogGet(ctx context.Context, num int64) *redis.SlowLogCmd
Sort(ctx context.Context, key string, sort *redis.Sort) *redis.StringSliceCmd
SortInterfaces(ctx context.Context, key string, sort *redis.Sort) *redis.SliceCmd
SortRO(ctx context.Context, key string, sort *redis.Sort) *redis.StringSliceCmd
SortStore(ctx context.Context, key, store string, sort *redis.Sort) *redis.IntCmd
StrLen(ctx context.Context, key string) *redis.IntCmd
String() string
Subscribe(ctx context.Context, channels ...string) *redis.PubSub
Sync(_ context.Context)
TDigestAdd(ctx context.Context, key string, elements ...float64) *redis.StatusCmd
TDigestByRank(ctx context.Context, key string, rank ...uint64) *redis.FloatSliceCmd
TDigestByRevRank(ctx context.Context, key string, rank ...uint64) *redis.FloatSliceCmd
TDigestCDF(ctx context.Context, key string, elements ...float64) *redis.FloatSliceCmd
TDigestCreate(ctx context.Context, key string) *redis.StatusCmd
TDigestCreateWithCompression(ctx context.Context, key string, compression int64) *redis.StatusCmd
TDigestInfo(ctx context.Context, key string) *redis.TDigestInfoCmd
TDigestMax(ctx context.Context, key string) *redis.FloatCmd
TDigestMerge(ctx context.Context, destKey string, options *redis.TDigestMergeOptions, sourceKeys ...string) *redis.StatusCmd
TDigestMin(ctx context.Context, key string) *redis.FloatCmd
TDigestQuantile(ctx context.Context, key string, elements ...float64) *redis.FloatSliceCmd
TDigestRank(ctx context.Context, key string, values ...float64) *redis.IntSliceCmd
TDigestReset(ctx context.Context, key string) *redis.StatusCmd
TDigestRevRank(ctx context.Context, key string, values ...float64) *redis.IntSliceCmd
TDigestTrimmedMean(ctx context.Context, key string, lowCutQuantile, highCutQuantile float64) *redis.FloatCmd
TSAdd(ctx context.Context, key string, timestamp interface{}, value float64) *redis.IntCmd
TSAddWithArgs(ctx context.Context, key string, timestamp interface{}, value float64, options *redis.TSOptions) *redis.IntCmd
TSAlter(ctx context.Context, key string, options *redis.TSAlterOptions) *redis.StatusCmd
TSCreate(ctx context.Context, key string) *redis.StatusCmd
TSCreateRule(ctx context.Context, sourceKey string, destKey string, aggregator redis.Aggregator, bucketDuration int) *redis.StatusCmd
TSCreateRuleWithArgs(ctx context.Context, sourceKey string, destKey string, aggregator redis.Aggregator, bucketDuration int, options *redis.TSCreateRuleOptions) *redis.StatusCmd
TSCreateWithArgs(ctx context.Context, key string, options *redis.TSOptions) *redis.StatusCmd
TSDecrBy(ctx context.Context, Key string, timestamp float64) *redis.IntCmd
TSDecrByWithArgs(ctx context.Context, key string, timestamp float64, options *redis.TSIncrDecrOptions) *redis.IntCmd
TSDel(ctx context.Context, Key string, fromTimestamp int, toTimestamp int) *redis.IntCmd
TSDeleteRule(ctx context.Context, sourceKey string, destKey string) *redis.StatusCmd
TSGet(ctx context.Context, key string) *redis.TSTimestampValueCmd
TSGetWithArgs(ctx context.Context, key string, options *redis.TSGetOptions) *redis.TSTimestampValueCmd
TSIncrBy(ctx context.Context, Key string, timestamp float64) *redis.IntCmd
TSIncrByWithArgs(ctx context.Context, key string, timestamp float64, options *redis.TSIncrDecrOptions) *redis.IntCmd
TSInfo(ctx context.Context, key string) *redis.MapStringInterfaceCmd
TSInfoWithArgs(ctx context.Context, key string, options *redis.TSInfoOptions) *redis.MapStringInterfaceCmd
TSMAdd(ctx context.Context, ktvSlices [][]interface{}) *redis.IntSliceCmd
TSMGet(ctx context.Context, filters []string) *redis.MapStringSliceInterfaceCmd
TSMGetWithArgs(ctx context.Context, filters []string, options *redis.TSMGetOptions) *redis.MapStringSliceInterfaceCmd
TSMRange(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string) *redis.MapStringSliceInterfaceCmd
TSMRangeWithArgs(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string, options *redis.TSMRangeOptions) *redis.MapStringSliceInterfaceCmd
TSMRevRange(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string) *redis.MapStringSliceInterfaceCmd
TSMRevRangeWithArgs(ctx context.Context, fromTimestamp int, toTimestamp int, filterExpr []string, options *redis.TSMRevRangeOptions) *redis.MapStringSliceInterfaceCmd
TSQueryIndex(ctx context.Context, filterExpr []string) *redis.StringSliceCmd
TSRange(ctx context.Context, key string, fromTimestamp int, toTimestamp int) *redis.TSTimestampValueSliceCmd
TSRangeWithArgs(ctx context.Context, key string, fromTimestamp int, toTimestamp int, options *redis.TSRangeOptions) *redis.TSTimestampValueSliceCmd
TSRevRange(ctx context.Context, key string, fromTimestamp int, toTimestamp int) *redis.TSTimestampValueSliceCmd
TSRevRangeWithArgs(ctx context.Context, key string, fromTimestamp int, toTimestamp int, options *redis.TSRevRangeOptions) *redis.TSTimestampValueSliceCmd
TTL(ctx context.Context, key string) *redis.DurationCmd
Time(ctx context.Context) *redis.TimeCmd
TopKAdd(ctx context.Context, key string, elements ...interface{}) *redis.StringSliceCmd
TopKCount(ctx context.Context, key string, elements ...interface{}) *redis.IntSliceCmd
TopKIncrBy(ctx context.Context, key string, elements ...interface{}) *redis.StringSliceCmd
TopKInfo(ctx context.Context, key string) *redis.TopKInfoCmd
TopKList(ctx context.Context, key string) *redis.StringSliceCmd
TopKListWithCount(ctx context.Context, key string) *redis.MapStringIntCmd
TopKQuery(ctx context.Context, key string, elements ...interface{}) *redis.BoolSliceCmd
TopKReserve(ctx context.Context, key string, k int64) *redis.StatusCmd
TopKReserveWithOptions(ctx context.Context, key string, k int64, width, depth int64, decay float64) *redis.StatusCmd
Touch(ctx context.Context, keys ...string) *redis.IntCmd
TxPipeline() redis.Pipeliner
TxPipelined(ctx context.Context, fn func(redis.Pipeliner) error) ([]redis.Cmder, error)
Type(ctx context.Context, key string) *redis.StatusCmd
Unlink(ctx context.Context, keys ...string) *redis.IntCmd
Wait(ctx context.Context, numSlaves int, timeout time.Duration) *redis.IntCmd
WaitAOF(ctx context.Context, numLocal, numSlaves int, timeout time.Duration) *redis.IntCmd
Watch(ctx context.Context, fn func(*redis.Tx) error, keys ...string) error
WithTimeout(timeout time.Duration) *redis.Client
XAck(ctx context.Context, stream, group string, ids ...string) *redis.IntCmd
XAdd(ctx context.Context, a *redis.XAddArgs) *redis.StringCmd
XAutoClaim(ctx context.Context, a *redis.XAutoClaimArgs) *redis.XAutoClaimCmd
XAutoClaimJustID(ctx context.Context, a *redis.XAutoClaimArgs) *redis.XAutoClaimJustIDCmd
XClaim(ctx context.Context, a *redis.XClaimArgs) *redis.XMessageSliceCmd
XClaimJustID(ctx context.Context, a *redis.XClaimArgs) *redis.StringSliceCmd
XDel(ctx context.Context, stream string, ids ...string) *redis.IntCmd
XGroupCreate(ctx context.Context, stream, group, start string) *redis.StatusCmd
XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *redis.IntCmd
XGroupCreateMkStream(ctx context.Context, stream, group, start string) *redis.StatusCmd
XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *redis.IntCmd
XGroupDestroy(ctx context.Context, stream, group string) *redis.IntCmd
XGroupSetID(ctx context.Context, stream, group, start string) *redis.StatusCmd
XInfoConsumers(ctx context.Context, key string, group string) *redis.XInfoConsumersCmd
XInfoGroups(ctx context.Context, key string) *redis.XInfoGroupsCmd
XInfoStream(ctx context.Context, key string) *redis.XInfoStreamCmd
XInfoStreamFull(ctx context.Context, key string, count int) *redis.XInfoStreamFullCmd
XLen(ctx context.Context, stream string) *redis.IntCmd
XPending(ctx context.Context, stream, group string) *redis.XPendingCmd
XPendingExt(ctx context.Context, a *redis.XPendingExtArgs) *redis.XPendingExtCmd
XRange(ctx context.Context, stream, start, stop string) *redis.XMessageSliceCmd
XRangeN(ctx context.Context, stream, start, stop string, count int64) *redis.XMessageSliceCmd
XRead(ctx context.Context, a *redis.XReadArgs) *redis.XStreamSliceCmd
XReadGroup(ctx context.Context, a *redis.XReadGroupArgs) *redis.XStreamSliceCmd
XReadStreams(ctx context.Context, streams ...string) *redis.XStreamSliceCmd
XRevRange(ctx context.Context, stream, start, stop string) *redis.XMessageSliceCmd
XRevRangeN(ctx context.Context, stream, start, stop string, count int64) *redis.XMessageSliceCmd
XTrimMaxLen(ctx context.Context, key string, maxLen int64) *redis.IntCmd
XTrimMaxLenApprox(ctx context.Context, key string, maxLen, limit int64) *redis.IntCmd
XTrimMinID(ctx context.Context, key string, minID string) *redis.IntCmd
XTrimMinIDApprox(ctx context.Context, key string, minID string, limit int64) *redis.IntCmd
ZAdd(ctx context.Context, key string, members ...redis.Z) *redis.IntCmd
ZAddArgs(ctx context.Context, key string, args redis.ZAddArgs) *redis.IntCmd
ZAddArgsIncr(ctx context.Context, key string, args redis.ZAddArgs) *redis.FloatCmd
ZAddGT(ctx context.Context, key string, members ...redis.Z) *redis.IntCmd
ZAddLT(ctx context.Context, key string, members ...redis.Z) *redis.IntCmd
ZAddNX(ctx context.Context, key string, members ...redis.Z) *redis.IntCmd
ZAddXX(ctx context.Context, key string, members ...redis.Z) *redis.IntCmd
ZCard(ctx context.Context, key string) *redis.IntCmd
ZCount(ctx context.Context, key, min, max string) *redis.IntCmd
ZDiff(ctx context.Context, keys ...string) *redis.StringSliceCmd
ZDiffStore(ctx context.Context, destination string, keys ...string) *redis.IntCmd
ZDiffWithScores(ctx context.Context, keys ...string) *redis.ZSliceCmd
ZIncrBy(ctx context.Context, key string, increment float64, member string) *redis.FloatCmd
ZInter(ctx context.Context, store *redis.ZStore) *redis.StringSliceCmd
ZInterCard(ctx context.Context, limit int64, keys ...string) *redis.IntCmd
ZInterStore(ctx context.Context, destination string, store *redis.ZStore) *redis.IntCmd
ZInterWithScores(ctx context.Context, store *redis.ZStore) *redis.ZSliceCmd
ZLexCount(ctx context.Context, key, min, max string) *redis.IntCmd
ZMPop(ctx context.Context, order string, count int64, keys ...string) *redis.ZSliceWithKeyCmd
ZMScore(ctx context.Context, key string, members ...string) *redis.FloatSliceCmd
ZPopMax(ctx context.Context, key string, count ...int64) *redis.ZSliceCmd
ZPopMin(ctx context.Context, key string, count ...int64) *redis.ZSliceCmd
ZRandMember(ctx context.Context, key string, count int) *redis.StringSliceCmd
ZRandMemberWithScores(ctx context.Context, key string, count int) *redis.ZSliceCmd
ZRange(ctx context.Context, key string, start, stop int64) *redis.StringSliceCmd
ZRangeArgs(ctx context.Context, z redis.ZRangeArgs) *redis.StringSliceCmd
ZRangeArgsWithScores(ctx context.Context, z redis.ZRangeArgs) *redis.ZSliceCmd
ZRangeByLex(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.StringSliceCmd
ZRangeByScore(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.StringSliceCmd
ZRangeByScoreWithScores(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.ZSliceCmd
ZRangeStore(ctx context.Context, dst string, z redis.ZRangeArgs) *redis.IntCmd
ZRangeWithScores(ctx context.Context, key string, start, stop int64) *redis.ZSliceCmd
ZRank(ctx context.Context, key, member string) *redis.IntCmd
ZRankWithScore(ctx context.Context, key, member string) *redis.RankWithScoreCmd
ZRem(ctx context.Context, key string, members ...interface{}) *redis.IntCmd
ZRemRangeByLex(ctx context.Context, key, min, max string) *redis.IntCmd
ZRemRangeByRank(ctx context.Context, key string, start, stop int64) *redis.IntCmd
ZRemRangeByScore(ctx context.Context, key, min, max string) *redis.IntCmd
ZRevRange(ctx context.Context, key string, start, stop int64) *redis.StringSliceCmd
ZRevRangeByLex(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.StringSliceCmd
ZRevRangeByScore(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.StringSliceCmd
ZRevRangeByScoreWithScores(ctx context.Context, key string, opt *redis.ZRangeBy) *redis.ZSliceCmd
ZRevRangeWithScores(ctx context.Context, key string, start, stop int64) *redis.ZSliceCmd
ZRevRank(ctx context.Context, key, member string) *redis.IntCmd
ZRevRankWithScore(ctx context.Context, key, member string) *redis.RankWithScoreCmd
ZScan(ctx context.Context, key string, cursor uint64, match string, count int64) *redis.ScanCmd
ZScore(ctx context.Context, key, member string) *redis.FloatCmd
ZUnion(ctx context.Context, store redis.ZStore) *redis.StringSliceCmd
ZUnionStore(ctx context.Context, dest string, store *redis.ZStore) *redis.IntCmd
ZUnionWithScores(ctx context.Context, store redis.ZStore) *redis.ZSliceCmd
}
type RedisConnectionCreator ¶
type RedisConnectionCreator interface {
Accept(config Bag) bool
Create(config Bag) (RedisConnection, error)
}
type RedisConnectionFactory ¶
type Registerer ¶
type Registerer interface {
Queue(constructor any, opts ...dig.ProvideOption) Registerer
Run(container *dig.Container) error
}
func NewRegisterer ¶
func NewRegisterer() Registerer
type RunnableProvider ¶
type Timer ¶
type Timer interface {
ParseDuration(s string) (time.Duration, error)
Since(t time.Time) time.Duration
Until(t time.Time) time.Duration
FixedZone(name string, offset int) *time.Location
LoadLocation(name string) (*time.Location, error)
Date(year int, month time.Month, day, hour, min, sec, nsec int, loc *time.Location) time.Time
Now() time.Time
Parse(layout, value string) (time.Time, error)
ParseInLocation(layout, value string, loc *time.Location) (time.Time, error)
Unix(sec int64, nsec int64) time.Time
UnixMicro(usec int64) time.Time
UnixMilli(msec int64) time.Time
}
type Translator ¶
type Translator interface {
ut.Translator
}
type TranslatorCreator ¶
type TranslatorCreator interface {
Accept(config Bag) bool
Create(config Bag) (Translator, error)
}
type TranslatorFactory ¶
type TriggerCallback ¶
type TriggerCallback func() error
type TriggerFactory ¶
type TriggerFactory interface {
NewPulse(delay time.Duration, callback TriggerCallback) (Trigger, error)
NewRecurring(delay time.Duration, callback TriggerCallback) (Trigger, error)
}
type ValidationError ¶
type ValidatorCreator ¶
type ValidatorErrorConverter ¶
type ValidatorErrorConverter interface {
Convert(errors []ValidationError) any
}
type ValidatorErrorConverterCreator ¶
type ValidatorErrorConverterCreator interface {
Accept(config Bag) bool
Create(config Bag) (ValidatorErrorConverter, error)
}
type ValidatorFactory ¶
type ValidatorParser ¶
type ValidatorParser interface {
AddTagCode(tag string, code int)
Parse(value any, errs validator.ValidationErrors) []ValidationError
}
type ValidatorParserCreator ¶
type ValidatorParserCreator interface {
Accept(config Bag) bool
Create(config Bag) (ValidatorParser, error)
}
type ValidatorParserFactory ¶
type WatchdogLogger ¶
type WatchdogLoggerCreator ¶
type WatchdogLoggerCreator interface {
Accept(config Bag) bool
Create(config Bag) (WatchdogLogger, error)
}
Source Files
¶
- application.go
- bag.go
- cache_adaptor.go
- cache_adaptor_creator.go
- cache_adaptor_factory.go
- cache_adaptor_redis.go
- cache_adaptor_redis_creator.go
- cache_key_generator.go
- cache_key_generator_creator.go
- cache_key_generator_factory.go
- cache_serializer.go
- cache_serializer_creator.go
- cache_serializer_factory.go
- config.go
- config_booter.go
- config_observer.go
- config_parser.go
- config_parser_creator.go
- config_parser_factory.go
- config_parser_json.go
- config_parser_json_creator.go
- config_parser_yaml.go
- config_parser_yaml_creator.go
- config_rest_client_generator.go
- config_source.go
- config_source_creator.go
- config_source_dir.go
- config_source_dir_creator.go
- config_source_env.go
- config_source_env_creator.go
- config_source_factory.go
- config_source_file.go
- config_source_file_creator.go
- config_source_observable_file.go
- config_source_observable_file_creator.go
- config_source_observable_rest.go
- config_source_observable_rest_creator.go
- config_source_rest.go
- config_source_rest_creator.go
- consts.go
- database_config.go
- database_config_creator.go
- database_config_default_creator.go
- database_config_factory.go
- database_connection.go
- database_connection_creator.go
- database_connection_factory.go
- database_dialect.go
- database_dialect_creator.go
- database_dialect_factory.go
- database_dialect_mysql_creator.go
- database_dialect_postgres_creator.go
- database_dialect_sqlite_creator.go
- disk.go
- disk_creator.go
- disk_factory.go
- disk_memory.go
- disk_os.go
- error.go
- errors.go
- executor.go
- factory.go
- factory_config.go
- kennel.go
- log.go
- log_booter.go
- log_flusher.go
- log_level.go
- log_rotating_file_writer.go
- log_serializer.go
- log_serializer_creator.go
- log_serializer_factory.go
- log_serializer_json.go
- log_serializer_json_creator.go
- log_serializer_string.go
- log_serializer_string_creator.go
- log_stream.go
- log_stream_console_creator.go
- log_stream_creator.go
- log_stream_factory.go
- log_stream_file_creator.go
- log_stream_rotating_file_creator.go
- migration.go
- migration_dao.go
- migration_info.go
- migration_pool.go
- migration_record.go
- migrator.go
- migrator_booter.go
- migrator_creator.go
- migrator_default.go
- migrator_default_creator.go
- migrator_factory.go
- migrator_logger.go
- migrator_logger_creator.go
- migrator_logger_default.go
- migrator_logger_default_creator.go
- migrator_logger_factory.go
- process.go
- provider.go
- pubsub.go
- redis_booter.go
- redis_connection.go
- redis_connection_creator.go
- redis_connection_default_creator.go
- redis_connection_factory.go
- redis_connection_mini_creator.go
- registerer.go
- timer.go
- translator.go
- translator_creator.go
- translator_english_creator.go
- translator_factory.go
- trigger.go
- trigger_factory.go
- trigger_pulse.go
- trigger_recurring.go
- utils.go
- validation_error.go
- validator.go
- validator_creator.go
- validator_default.go
- validator_default_creator.go
- validator_error_converter.go
- validator_error_converter_creator.go
- validator_error_converter_factory.go
- validator_factory.go
- validator_parser.go
- validator_parser_creator.go
- validator_parser_default.go
- validator_parser_default_creator.go
- validator_parser_factory.go
- watchdog.go
- watchdog_logger.go
- watchdog_logger_creator.go
- watchdog_logger_default.go
- watchdog_logger_default_creator.go
- watchdog_logger_factory.go
Click to show internal directories.
Click to hide internal directories.