comments for signal implmentation
This commit is contained in:
parent
e72196cb34
commit
cecefefa57
15
src/Mite.js
15
src/Mite.js
|
@ -1,14 +1,27 @@
|
|||
// Signal implementation
|
||||
/**
|
||||
* Signal
|
||||
*
|
||||
* Creates a signal for reactive state management
|
||||
*
|
||||
* @param {any} value - Initial value for the signal
|
||||
*
|
||||
* @returns {Object} Signal object with getter, setter, and subscription methods
|
||||
*/
|
||||
function signal(value) {
|
||||
const subscribers = new Set();
|
||||
return {
|
||||
// gets current signal value
|
||||
get value() {
|
||||
return value;
|
||||
},
|
||||
|
||||
// sets a new value for the signal, notifying all subscribers
|
||||
set value(newValue) {
|
||||
value = newValue;
|
||||
subscribers.forEach(fn => fn());
|
||||
},
|
||||
|
||||
// subscribe to value changes
|
||||
subscribe(fn) {
|
||||
subscribers.add(fn);
|
||||
return () => subscribers.delete(fn);
|
||||
|
|
Loading…
Reference in New Issue