quidproquo-core
The quidproquo-core
library is the heart of the quidproquo framework. It provides the fundamental building blocks and abstractions that enable the creation of scalable, event-driven web applications. This library is not intended to be used directly, but rather serves as a foundation for other quidproquo packages.
WARNING: NOT FOR PRODUCTION
This project is currently under active development and should not be used in production environments. The APIs and functionality are subject to change without notice.
Key Features
-
Action-Oriented Architecture: The core of quidproquo-core is an action-oriented architecture, where all application logic is encapsulated in small, reusable actions. These actions can be composed together to create complex workflows.
-
Asynchronous Execution: Actions in quidproquo-core are executed asynchronously using generators, allowing for efficient and non-blocking execution of application logic.
-
Dependency Injection: The framework provides a built-in dependency injection system, allowing for easy composition and testing of application components.
-
Extensibility: The core library is designed to be highly extensible, with well-defined extension points and a modular architecture.
-
Error Handling: The framework includes a robust error handling system, with support for different error types and the ability to handle errors at various levels of the application.
-
Logging and Observability: The core library provides built-in support for logging and observability, making it easier to debug and monitor applications built with quidproquo.
-
Testability: The action-oriented architecture and asynchronous execution model of quidproquo-core make it highly testable, with support for unit, integration, and end-to-end testing.
Key Concepts
-
Actions: Actions are the fundamental building blocks of quidproquo-core. They represent small, reusable pieces of application logic that can be composed together to create complex workflows.
-
Generators: Generators are used to implement the asynchronous execution model of quidproquo-core. Actions are defined as generator functions, which can yield other actions or return values.
-
Dependency Injection: The core library provides a built-in dependency injection system, allowing for easy composition and testing of application components.
-
Contexts: Contexts are used to manage the state and dependencies of a particular execution context, such as a user session or a background task.
-
Errors: The framework includes a robust error handling system, with support for different error types and the ability to handle errors at various levels of the application.
-
Logging and Observability: The core library provides built-in support for logging and observability, making it easier to debug and monitor applications built with quidproquo.
-
Testing: The action-oriented architecture and asynchronous execution model of quidproquo-core make it highly testable, with support for unit, integration, and end-to-end testing.
Getting Started
To use quidproquo-core, you'll need to install the package and its dependencies. You can do this using your preferred package manager, such as npm or yarn:
npm install quidproquo-core
Once you have the package installed, you can start building your application using the core concepts and features provided by the library.
Documentation
For more detailed information on using quidproquo-core, please refer to the quidproquo-core documentation.
Contributing
If you'd like to contribute to the development of quidproquo-core, please refer to the contributing guidelines for more information.
License
quidproquo-core is licensed under the MIT License.