Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/dhamidi/ess
/ types & classes
Types & classes
44 in github.com/dhamidi/ess
⨍
Functions
196
◇
Types & classes
44
↓ 6 callers
FuncType
EventHandlerFunc
EventHandlerFunc is a wrapper type to allow a function to fulfull the EventHandler interface by calling the function.
interfaces.go:75
Interface
Aggregate
Aggregate defines the necessary methods for acting interacting with an event sourced application. Aggregates receives requests for state changes in t
interfaces.go:15
Struct
AllPostsInMemory
examples/blog/all_posts.go:57
Struct
AllSessionsInMemory
examples/blog/sessions.go:24
Struct
Application
Application represents an event sourced application. Any interaction with an application happens by sending it commands. Commands are messages expre
application.go:40
Struct
BcryptedPassword
BcryptedPassword is an implementation for securely handling password parameters. It uses the bcrypt algorithm for hashing passwords.
values.go:154
Interface
Clock
Clock is an interface for providing the current time. This interface exists to decouple objects that need access to the current time from the system
interfaces.go:33
Struct
Command
Command represents a message sent to your application with the intention to change application state. Commands are named in the imperative, e.g. "sig
command.go:163
Struct
CommandDefinition
CommandDefinition is used for defining the commands accepted by the application. Essentially it is a dynamically built definition of messages the sys
command.go:70
Interface
CommandHandler
CommandHandler defines the interface for handling commands.
interfaces.go:60
Struct
CommandResult
CommandResult represents the result of the application handling a command.
command.go:10
Struct
Email
Email is an implementation of value for handling email addresses. It parses email addresses according to RFC 5322, e.g. "Barry Gibbs <bg@example.com>"
values.go:122
Struct
Event
Event represents a state change that has occurred. Events are named in the past tense, e.g. "user.signed-up".
event.go:7
Interface
EventHandler
EventHandler defines the interface for processing events.
interfaces.go:69
Interface
EventPublisher
EventPublisher defines the interface for publishing events in aggregates.
interfaces.go:54
Interface
EventStore
EventStore defines the necessary operations for persisting events and restoring application state from the log of persisted events.
interfaces.go:82
Struct
EventStoreTest
EventStoreTest encapsulates the tests for the EventStore interface. Any compliant implementation of an EventStore should pass these tests. This type
event_store_test_suite.go:11
Struct
EventsInMemory
EventsInMemory is an in-memory implementation of an event store.
events_in_memory.go:4
Struct
EventsOnDisk
EventsOnDisk is a persistent, file-based implementation of an EventStore. Events are serialized as JSON and appended to a log file. Storing and repl
events_on_disk.go:16
Interface
Form
Form defines how to access form values. This allows commands to fill in parameters automatically. This interface is modelled after net/http.Request
interfaces.go:103
Struct
HTML
examples/blog/html.go:10
TypeAlias
HTMLAttributes
examples/blog/html.go:89
Struct
HTMLForm
examples/blog/templates.go:72
Struct
HTMLFormField
examples/blog/templates.go:64
Struct
Identifier
Identifier is a value for handling parameters that serve as identifiers. It accepts any string consisting only of dashes, lowercase letters and digit
values.go:90
Struct
IndexResource
examples/blog/main.go:270
Struct
LineWriter
application_test.go:19
Struct
Post
examples/blog/post.go:5
Struct
PostResource
examples/blog/main.go:206
Struct
PostsResource
examples/blog/main.go:140
Struct
ProjectedPost
examples/blog/all_posts.go:16
Struct
ProjectedUser
examples/blog/sessions.go:19
Interface
SessionStore
examples/blog/main.go:287
Struct
SessionsResource
examples/blog/main.go:80
Struct
SignupsResource
examples/blog/main.go:58
Struct
StaticClock
StaticClock implements the Clock interface by returning a static time. Its intended use is in test cases.
clock.go:20
Struct
String
String is an implementation of Value for handling string parameters.
values.go:15
Struct
SystemTime
SystemTime wraps time.Now to implement the Clock interface.
clock.go:12
Struct
Time
Time is an implementation of Value for handling timestamps. It works with timestamps formatted according to time.RFC3339Nano.
values.go:60
Struct
User
examples/blog/user.go:5
Struct
User
examples/signup/main.go:22
Struct
ValidationError
ValidationError captures errors about the values of a command's parameter or the state of a whole aggregate. Return errors of this type by the method
validation_error.go:13
Interface
Value
Value is defines the interface for converting text into Go values. A value is used for capturing, sanitizing and validating the parameters accepted by
interfaces.go:40
Struct
testAggregate
testAggregate is a dummy aggregate used for testing. This type is included in the main package, because it is referenced by EventStoreTest.
test_aggregate.go:6