Skip to content

Commit

Permalink
Bug 1920020 [wpt PR 48280] - DOM: Implement abortable async iterable …
Browse files Browse the repository at this point in the history
…Observables, a=testonly

Automatic update from web-platform-tests
DOM: Implement abortable async iterable Observables

The IteratorRecord#return() function exists as an optional method that
sync and async iterator records can supply [1] [2]. They allow for the
language, or any consumer of an iterable, to signal to the iterable that
the consumer will stop consuming values prematurely (i.e., before
exhaustion).

This method must be invoked when the consumer aborts its subscription
to an Observable that was derived from an iterable. The abort reason is
supplied to the `return()` iterator function for completeness. This CL:
  1. Adds tests for sync & async iterables
  2. Implements this for async iterables

A follow-up CL will implement this for sync iterables.

The semantics are specified in
WICG/observable#160.

[1]:
https://tc39.es/ecma262/#table-iterator-interface-optional-properties
[2]: https://tc39.es/ecma262/#table-async-iterator-optional

Bug: 40282760
Change-Id: Ie1091b24b233afecdec572feadc129bcc8a2d4d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5854985
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Dominic Farolino <dom@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1359083}

--

wpt-commits: 83154d0455e572de16e84ebee72f56df73d2ceb3
wpt-pr: 48280
  • Loading branch information
domfarolino authored and moz-wptsync-bot committed Sep 25, 2024
1 parent bc96500 commit 58c341f
Showing 1 changed file with 440 additions and 0 deletions.
Loading

0 comments on commit 58c341f

Please sign in to comment.