@adbl/signals
v0.0.6
Published
A simple implementation of reactive signals
Downloads
6
Readme
signals
signals is a(nother) library that provides an implementation of signals in JavaScript. They allow the definition of data flows and propagate changes in a declarative manner.
Features
- Simple API: signals has a straightforward API for creating and working with signals.
- Reactive Updates: When a signal's value changes, all computations and side effects that depend on that signal are automatically updated.
- Composable: Signals can be combined and transformed using built-in operators, enabling complex data flows.
- Lightweight: signals has a small footprint and no external dependencies, making it easy to integrate into your projects.
Installation
You can install signals via npm:
npm install @adbl/signals
Usage
Here's a basic example of how to use signals:
import { Signal } from '@adbl/signals';
// Create a reactive signal
const count = Signal.source(0);
// Derive a new signal based on the count signal
const doubledCount = Signal.derived(() => count.value * 2);
// Subscribe to changes in the derived signal
doubledCount.createEffect((value) => {
console.log(`Doubled count: ${value}`);
});
// Update the original signal
count.value = 1; // Logs: "Doubled count: 2"
count.value = 3; // Logs: "Doubled count: 6"
Contributing
Contributions are welcome!
License
signals is released under the MIT License.