diff --git a/src/Mite.js b/src/Mite.js index 8a7f979..99717e0 100644 --- a/src/Mite.js +++ b/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);