event

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: Apache-2.0 Imports: 5 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultEmitterLogger

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

DefaultEmitterLogger is a struct that can emit events and log messages.

func NewEmitterLogger

func NewEmitterLogger(
	eventEmitter EventEmitter, loggerFactoryFn logging.LoggerFactoryFn,
) *DefaultEmitterLogger

NewEmitterLogger creates a new EmitterLogger.

Parameters:

  • eventEmitter: An EventEmitter.
  • loggerFactoryFn: A LoggerFactoryFn.

Returns:

  • *DefaultEmitterLogger: A new DefaultEmitterLogger instance.

func NewNoopEmitterLogger

func NewNoopEmitterLogger() *DefaultEmitterLogger

NewNoopEmitterLogger creates a new EmitterLogger that does nothing.

Returns:

  • *DefaultEmitterLogger: A new DefaultEmitterLogger instance.

func (*DefaultEmitterLogger) Debug

func (e *DefaultEmitterLogger) Debug(event *Event, factoryParams ...any)

Debug emits an event and logs at the Debug level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

func (*DefaultEmitterLogger) Error

func (e *DefaultEmitterLogger) Error(event *Event, factoryParams ...any)

Error emits an event and logs at the Error level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

func (*DefaultEmitterLogger) Fatal

func (e *DefaultEmitterLogger) Fatal(event *Event, factoryParams ...any)

Fatal emits an event and logs at the Fatal level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

func (*DefaultEmitterLogger) Info

func (e *DefaultEmitterLogger) Info(event *Event, factoryParams ...any)

Info emits an event and logs at the Info level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

func (*DefaultEmitterLogger) Trace

func (e *DefaultEmitterLogger) Trace(event *Event, factoryParams ...any)

Trace emits an event and logs at the Trace level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

func (*DefaultEmitterLogger) Warn

func (e *DefaultEmitterLogger) Warn(event *Event, factoryParams ...any)

Warn emits an event and logs at the Warn level.

Parameters:

  • event The event to emit and log.
  • factoryParams: The parameters to pass to the logger factory function.

type DefaultEventEmitter

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

EventEmitter is responsible for emitting events.

func NewEventEmitter

func NewEventEmitter() *DefaultEventEmitter

NewEventEmitter creates a new DefaultEventEmitter.

Parameters:

  • opts: Options to configure the DefaultEventEmitter.

Returns:

  • *DefaultEventEmitter: A new DefaultEventEmitter.

func (*DefaultEventEmitter) Emit

func (e *DefaultEventEmitter) Emit(event *Event)

Emit emits an event to all registered listeners. It runs each callback in a separate goroutine. If timeout is set for the eventEmitter, the callbacks will be run with the specified timeout. If the timeout is exceeded, an error message will be printed to stderr.

Parameters:

  • event: The event to emit.

Returns:

  • *eventEmitter: The eventEmitter.

func (*DefaultEventEmitter) RegisterGlobalListener

func (e *DefaultEventEmitter) RegisterGlobalListener(
	callback EventCallback,
) EventEmitter

RegisterGlobalListener registers a callback to listen to all events.

Parameters:

  • callback: The function to call when an event is emitted.

Returns:

  • *eventEmitter: The eventEmitter.

func (*DefaultEventEmitter) RegisterListener

func (e *DefaultEventEmitter) RegisterListener(
	eventType EventType, callback EventCallback,
) EventEmitter

RegisterListener registers a listener for a specific event type.

Parameters:

  • eventType: The type of the event.
  • callback: The function to call when the event is emitted.

Returns:

  • *eventEmitter: The eventEmitter.

func (*DefaultEventEmitter) RemoveGlobalListener

func (e *DefaultEventEmitter) RemoveGlobalListener(id string)

RemoveGlobalListener removes a global listener based on its ID.

Parameters:

  • id: The ID of the listener to remove.

Returns:

  • *eventEmitter: The eventEmitter.

func (*DefaultEventEmitter) RemoveListener

func (e *DefaultEventEmitter) RemoveListener(
	eventType EventType, id string,
)

RemoveListener removes a listener for a specific event type.

Parameters:

  • eventType: The type of the event.
  • listener: The listener function.

Returns:

  • *eventEmitter: The eventEmitter.

func (*DefaultEventEmitter) WithTimeout

func (e *DefaultEventEmitter) WithTimeout(
	timeout *time.Duration,
) *DefaultEventEmitter

WithTimeout sets the timeout for each callback. If the timeout is exceeded, an error message will be printed to stderr. It will return a new eventEmitterOption.

Parameters:

  • timeout: The timeout duration.

Returns:

  • *DefaultEventEmitter: A new DefaultEventEmitter.

type EmitterLogger

type EmitterLogger interface {
	Debug(event *Event, factoryParams ...any)
	Info(event *Event, factoryParams ...any)
	Warn(event *Event, factoryParams ...any)
	Error(event *Event, factoryParams ...any)
	Fatal(event *Event, factoryParams ...any)
	Trace(event *Event, factoryParams ...any)
}

EmitterLogger is an interface that can emit events and log messages.

type Event

type Event struct {
	Type    EventType
	Message string
	Data    any
}

Event represents an emitted event.

func NewEvent

func NewEvent(eventType EventType, message string) *Event

NewEvent creates a new event.

Parameters:

  • eventType: The type of the event.
  • message: The message of the event.
  • data: The optional data of the event.

Returns:

  • *Event: A new Event instance.

func (*Event) WithData

func (event *Event) WithData(data any) *Event

WithData sets the data of the event. It returns a new event with the data set.

Parameters:

  • data: The data to set.

Returns:

  • *Event: A new Event instance with the data set.

type EventCallback

type EventCallback func(event *Event)

EventCallback is a function that handles an event.

type EventEmitter

type EventEmitter interface {
	RegisterListener(eventType EventType, callback EventCallback) EventEmitter
	RemoveListener(eventType EventType, id string)
	Emit(event *Event)
}

EventEmitter is responsible for emitting events.

type EventType

type EventType string

EventType represents the type of event.

Jump to

Keyboard shortcuts

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