A lightweight state manager for deeply nested states using classes as stores and methods as actions.
Exome is a state management library designed specifically for handling complex, deeply nested application states. It provides a simple class-based API where state is defined in classes extending `Exome` and actions are regular methods, making it intuitive to manage and update state across large applications.
Developers building applications with complex, deeply nested state structures, particularly those using React, Preact, Vue, Svelte, Solid, Lit, RxJS, Angular, or vanilla JavaScript. It's suitable for projects where state needs to be managed in small, modular chunks and shared across multiple frameworks or microfrontends.
Developers choose Exome for its minimal size (1 KB), high performance without diffing, and intuitive class-based API that leverages familiar syntax. Its unique selling point is the ability to handle deeply nested states with ease, including serialization and Redux DevTools integration, while supporting a wide range of frameworks.
🔅 State manager for deeply nested states
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
At just 1 KB minizipped with zero dependencies, Exome adds minimal overhead to applications, as highlighted in the README's feature list.
Uses direct state updates triggered by actions, avoiding diffing overhead, with benchmarks linked in the README to demonstrate speed improvements.
Leverages familiar class syntax where state is properties and actions are methods, reducing boilerplate and improving developer experience for nested states.
Offers dedicated hooks for React, Preact, Vue, Svelte, Solid, Lit, RxJS, Angular, and vanilla JS, supporting diverse project architectures and microfrontends.
Relies on mutable class instances, which can lead to unpredictable side effects and complicate debugging compared to immutable state managers.
State saving and loading requires explicit registration of classes with `registerLoadable`, adding complexity and maintenance overhead for serialization features.
As a newer library, Exome lacks the extensive ecosystem, plugins, and community support of established alternatives like Redux or Zustand.