The specification spells out in "Signal.subtle.Watcher internal slots":
state: May be ~watching~, ~pending~ or ~waiting~
The semantics of these are never spelled out, nor are most of the transitions. In "Constructor: new Signal.subtle.Watcher(callback)" we have:
state is set to ~waiting~
And we have transitions from ~pending~ to ~watching~ spelled out in phases 4 and 5 of "Method: Signal.State.prototype.set(newValue)". But there's no reference to any other state changes.
The specification spells out in "Signal.subtle.Watcher internal slots":
The semantics of these are never spelled out, nor are most of the transitions. In "Constructor: new Signal.subtle.Watcher(callback)" we have:
And we have transitions from
~pending~
to~watching~
spelled out in phases 4 and 5 of "Method: Signal.State.prototype.set(newValue)". But there's no reference to any other state changes.