Patronum is a comprehensive utility library designed to extend the core capabilities of the Effector state management framework, providing a rich collection of operators and methods for common reactive programming patterns. It helps Effector developers implement functionality like debouncing, throttling, delays, status tracking for effects, event combination, and store value manipulation with significantly less boilerplate. The current stable version is 2.3.0, and the project exhibits an active development and release cadence, frequently adding new operators and improving existing ones, often with multiple minor and patch releases within a few months. Its key differentiator lies in its deep integration and specialization for the Effector ecosystem, offering purpose-built, type-safe solutions that seamlessly work with Effector's primitive units like Stores, Events, and Effects, fostering modularity and maintainability in complex applications. While it simplifies many common tasks, users must pay attention to its `effector` peer dependency version for compatibility.
npm install patronumVerified import paths — ran on the pinned version, not inferred.
This example demonstrates how to use `status` to track the state of an Effector effect and `debounce` to rate-limit an Effector event for use cases like search inputs.
Ensure your project uses `effector` version `^23` by updating your `package.json` and running `npm install` or `yarn install`.
When browsing documentation on patronum.effector.dev or GitHub, ensure you switch to the tag/release matching your installed `patronum` version.
Refer to the comprehensive migration guide available at `patronum.effector.dev/guides/migration` for detailed steps if upgrading from pre-1.0 versions.
Upgrade to `patronum` v2.1.2 or newer to ensure correct type inference and behavior for `interval` with Effector 23's `@@trigger`.
Update to `patronum` v2.1.1 or higher. Review any code using `status` or `snapshot` results for potential type mismatches if your TypeScript configuration is strict.
Ensure your project is configured for ES Modules (e.g., `"type": "module"` in `package.json` for Node.js) and use `import { status } from 'patronum';`. If in a mixed environment, check your bundler/transpiler configuration.Update your `effector` package to version `^23` or higher: `npm install effector@^23` or `yarn add effector@^23`.
Upgrade `patronum` to the latest version (e.g., `npm update patronum`). Ensure both `patronum` and `effector` packages are compatible and up-to-date.
Run `npm install patronum` or `yarn add patronum` to ensure the package is installed. Verify your `node_modules` directory and import paths.