0.2.18 • Published 8 months ago

gallifrey-rules v0.2.18

Weekly downloads
-
License
LGPL-3.0-only
Repository
-
Last release
8 months ago

Interested in Gallifrey-Rules?

I offer free one to one sessions via Google Meet to kick-start adoption or to answer questions about the library. Please reach out at mail[at]gallifrey-rules.dev

Features at a glance

  • Structured Event-Driven Architecture (EDA): Enforces a disciplined approach to event-driven development, ensuring consistency and best practices across your projects.
  • Transform Consumer Blackbox => Modular design with Filters, Rules, DataObjects, and Actions as customizable plugins, enabling seamless extension and flexibility.
  • Dynamic Plugin Management: All modules, including plugins and providers, are dynamically loaded and referenced by name,
  • Namespace-Oriented Projects: Projects are organized into Namespaces, each consisting of a Namespace Schema and a list of modules, promoting modularity and reusability.
  • Abstracted Configuration Management: Configurations are managed through an abstracted provider, allowing them to be sourced from any backend, ensuring flexibility in various environments.
  • Logging and Metrics: Logging and metrics are abstracted behind providers, offering a consistent and extensible approach to monitoring and diagnostics. Out of the box support for InfluxDB/Grafana.
  • Journal Logging: Capturing/grouping high level logs that happen during a single event.
  • Scheduled Events Support: Native support for scheduling events in the future, with rules that can seamlessly trigger new events based on business logic.
  • Distributed Locks: Out-of-the-box support for distributed locks, enabling atomic event processing and ensuring data integrity across distributed systems.
  • Asynchronous Actions: Actions can be easily converted into Async Actions with dedicated consumer topics, allowing for efficient time management and workload distribution.
  • Comprehensive Metrics Tracking: Tracks counts and durations for each plugin type, enabling quick identification of performance bottlenecks, such as slow data pullers or actions.
  • Enforced Naming Conventions: Consistent naming conventions across the library, enhancing the developer experience and reducing the likelihood of errors.
  • Resilient Error Handling: The ReactToFailure mechanism is abstracted behind a provider, giving developers control over how to handle unexpected errors in a customizable and consistent manner.
  • Fully supports TypeScript.
0.2.18

8 months ago

0.2.17

8 months ago

0.2.16

9 months ago

0.2.15

9 months ago

0.2.14

9 months ago

0.2.13

9 months ago

0.2.12

10 months ago

0.2.11

10 months ago

0.2.10

10 months ago

0.2.7

10 months ago

0.2.6

10 months ago

0.2.9

10 months ago

0.2.5

10 months ago

0.2.4

10 months ago

0.2.3

11 months ago

0.2.1

11 months ago

0.2.0

11 months ago

0.2.2

11 months ago

0.1.12

11 months ago

0.1.11

11 months ago

0.1.10

11 months ago

0.1.9

11 months ago

0.1.8

11 months ago

0.1.7

11 months ago

0.1.6

11 months ago

0.1.5

11 months ago

0.1.4

11 months ago