andywer / threads.js

🧵 Make web workers & worker threads as simple as a function call.
https://threads.js.org/
MIT License
3.04k stars 161 forks source link

subscribe won't propagate falsey values #471

Open zapphyre opened 1 year ago

zapphyre commented 1 year ago

I have a setup that should propagate a value (GPIO pin state in this case) to it's subscribers:

(function ok_toggle(pin_state) {
    console.log(`ok_btn pin_state: ${pin_state}`)

    ok_button_subject.next(!!Number(pin_state));

    GPIO.pin_toggler(26)(1)(ok_toggle);
})(1);

what happens is that falsey values are not propagated to the subscriber.

again, point of interest i the line ok_button_subject.next(!!Number(pin_state)); so when .next(false) is being called, subscriber doesn't get called. ok_button_subject.next(Number(pin_state)); won't propagate either when pin_state=0

if modified to: ok_button_subject.next(pin_state+"");subscriber will get '0' and '1' values.

I would be surprised if this is intended behaviour, but want to check here.