The caller's side of cancellation: the subset of the DOM's AbortSignal this
package reads, structural for the same reason FetchResponse is.
A real AbortSignal is assignable to it (measured), and so is a hand-rolled
{ aborted, addEventListener, removeEventListener } in a unit test. The
manager both pollsaborted (a signal that fired before the call is
refused without touching the cache) and subscribes (a signal that fires
later hands the reference back), so both members are needed;
removeEventListener is not optional because a listener that outlived its
load would keep the entry, the loader, and the asset reachable from the
caller's signal.
The caller's side of cancellation: the subset of the DOM's
AbortSignalthis package reads, structural for the same reason FetchResponse is.A real
AbortSignalis assignable to it (measured), and so is a hand-rolled{ aborted, addEventListener, removeEventListener }in a unit test. The manager both pollsaborted(a signal that fired before the call is refused without touching the cache) and subscribes (a signal that fires later hands the reference back), so both members are needed;removeEventListeneris not optional because a listener that outlived its load would keep the entry, the loader, and the asset reachable from the caller's signal.