Skip to content

Releases: Raiondesu/eventhoven

Release v1

11 Sep 11:44
Compare
Choose a tag to compare

Features:

  • Full tree-shaking
  • Functional-style API
  • Multiple event arguments
  • Event names can also be symbols (private events)
  • Soft error-handling - no unexpected runtime errors!
  • Versatile plugin system (using meta-events)
  • Fully type-safe - each event remembers its name and type signature
  • All functions are curried and point-free, which makes them easier to use in a functional environment
    (for example, with ramda and similar tools)
  • SOLID code
    • SRP - every function does only one thing
    • OCP - HOFs allow to change certain behaviours without the need to rewrite code
    • LSP - all functions are easily substitutable as long as they adhere to the same API
    • ISP - all data types are the least specific versions of them
    • DIP - API depends only on abstractions
  • Code-generation-friendly:
    Due to the SRP, all functions have a very limited number of ways of invocation.
    This allows to automatically generate efficient code (for example, CRUD events) for this library without concerns about its stability.
  • KISS and DRY code
  • API that is friendly both to FP and OOP!